The HP28C Scientific Professional: A Wonder That Isn’t Harry C. Bertuccelli Before you read this article I strongly recommend that you read all the other articles in this issue concerning the HP28C. For my quarrel with the design is so intense that I will surely have difficulty pausing long enough to provide an adequate factual basis for anyone not already having at least a passing acquaintance with the principal features of this machine. Honesty impels me to point out that I had less than 10 days to experiment with the machine, so that some factual mis-statements may be present in this account, however hard I have tried to avoid them. Nevertheless, I’m reasonably sure that any such errors will have little impact on the general thrust of my remarks. Knowing my proclivities, then, I shall postpone the expression of my disappointment just long enough to provide the sparsest of summaries of what you get if you should choose to buy an HP28C. My primary purpose in this summary is to define some abbreviated phrases for referencing different capabilities of this calculator. Feature Summary 1. fundamental set I will use this phrase to denote somewhat more than the real-variable single-key- invoked functions normally expected on any calculator claiming to be a scientific calculator: basic arithmetic functions (the four basics, reciprocal, square, square- root, and raising-to-a-power); transcendental functions (logarithmic, exponential, and trigonometric); easy conversion between different unit specifications for angles (radians, decimal degrees, deg-min-sec); rect to/from polar coordinates; and number display control (fixed-point vs mantissa-exponent), and a few odds and ends (sign, integer, and fractional parts, etc.). One noteworth improvement in this area is some control over default handling of underflow and overflow conditions. The ‘somewhat mor’ ar a small number of functions which aris sufficiently frequently in the work of a "scientific professional" (more on this appellative later) that they should qualify as well worth the cost of implementation; all, however, are not found on the HP28C. What have been included are some additional transcendental functions: hyperbolic functions, and factorials generalized to non-integer arguments via their connection to the gamma function. No included (surprisingly? -- perhaps not -- see discussion of symbolic math) are permutations and combinations (although these are found on the HP15C). 2. the 2nd tier This phrase is intended to cover the class of functions not often found in so-called scientific calculators, but which are generally recognized by a "scientific professional" as highly desirable in providing readily-accessible convenience in off- the-cuff analyses. Interestingly enough, Hewlett-Packard was not the pioneer in this extension beyond the fundamental set (see footnote 1 for more details), but once they recognized the need, they have done fairly well in adding to the fundamental set. Here I’m referring to the additional capabilities that began to appear in the HP34C, and which reached new heights in the HP15C. In any case, in this category the HP28C offers: extension of arithmetic and transcendentals to complex number arguments; extension of arithmetic to 3-vectors (the kind physicists use); extension of arithmetic to matrices with real and/or complex arguments; generation of uniformly- distributed random numbers; summary statistics, including linear regression; numerical integration (1-dimension); and (numerical) root evaluation of a single nonlinear equation. Later in this article I’ll discuss the importance and incompleteness of 2nd tier implementation. 3. the user interface In this department the HP28C has maintained and extended Hewlett-Packard’s justly- praised stack mechanism. The stack depth is variable: it can be zero, and as much as available memory will allow. The top (bottom?) levels are visible in the display (as much as is practical in a 4-line 23-character-wide LCD screen). Furthermore, almost anything can occupy a single level -- but more about this later. The problem of key-invoked functions more numerous than available keys has been met by fairly easy assignment of functions to 6 white keys just below the display via key-invoked ‘menus’. The one called USER is automatically expanded to incorporate your current collection of variables and programmed functions. The fixed (built-in) menus (21 in number, if I count correctly) organize the available key stroke operations into fairly logical groups you could eventually become familiar with, and some of this organization entails use of sub-menus. All in all, a fairly neat solution: you could take issue with some details, but the general idea is reasonably convenient. By the same token, one could take issue with the layout of the 2 keyboards, but this is a fairly minor matter, not to be compared with the impact of HP’s decision to introduce so-called ‘symbolic math’ -- but I’m in danger of getting ahead of myself. (Control yourself, Bertuccelli). Both keyboards are 6 keys wide, although for the numeric portion of the right-hand keyboard (just below the display) the width drops to five, as a concession to users’ familiarity with the narrower keyboards of previous HP calculators. Above the left keyboard is a printed tabulation of reminders regarding entry of stack objects. The physical packaging is quite compact and light, and has coat-pocket portability: certainly more portable than the HP41C machines, though somewhat more awkward than the HP15C. Finally, it should be noted that the processor used is the one in the HP71B (with an additional instruction added to its repertoire), a more powerful processor than that used in the HP41C and its predecessors: faster, larger address space, larger processing registers, and a more versatile instruction set. 4. symbolic math This is a sore point with me, but I’ll do my best to constrain myself a little longer by simply commenting here on the senses in which this phrase is used in this context. At least four meanings can be associated with this phraseology in discussing the HP28C: --> using a name to refer to an object; --> adding or inserting characters to partial character strings naming one or more objects to form a mathematical expression; --> differentiating such an expression with respect to some variable; --> algebraically rearranging such an expression. I’ve listed them in order of usefulness (which drops rapidly following the first meaning). 5. programming The HP28C does permit user-written programs. The hitch is the sparsity of space available for this purpose. Anyone with a modicum of familiarity with FORTH will have little difficulty with the programming mode. For tiny limited-purpose programs, in fact, this mode should prove quite elegant. However, forget any elaborate general-purpose programming: the available 1700 bytes would be quickly eaten up. The lion’s share of work done with this calculator must depend heavily upon the built-in operations provided. 6. extras These can be grouped as three additional features of debatable importance: BINARY (simulation of typical computer register operations using binary, octal, or hexadecimal representations); PLOT (plotting on the tiny screen); and UNITS (a unit conversion option employing 120 built-in units, and permitting user-defined units as well). The plotting options are done well, considering the limitations of display space; and unit management is pleasant enough luxury. I shall say little more about these features, other than a brief statement: these features have some justification only if higher-priority features (and I will offer a priority scheme later in this article) have already been implemented and there are still some resources left to allocate. The Crux of This Evaluation I’m about to remove the constraints imposed in getting this far into the article. Let me begin by noting that the real tone of the following commentary (no matter how pejorative the phraseology becomes) is distress over the wanton squandering of valuable computing resources in the HP28C. Apparently about 130 Kbytes of address space was available to the designers, the limitation primarily due to space constraints of a compact packaging (since the processor can address 0.5 Mbyte). Fine! With a processor this powerful, even a 100 Kbytes makes implementation of many useful features possible. The crucial points of this last statement are these: What features would be useful? If we have to choose, what criteria do we use? The two questions ar closely related, of course. Both depend upon the answer to a single question: To whom do we want this machine to appeal? And therein lies the rub -- to whom, pray tell, did HP intend to sell this calculator?? We have some inkling, at least, in the full title of the calculator -- "The HP28C Scientific Professional". Are they serious? By almost any criteria I think I qualify as a potential buyer of such a calculator, if its title is at all descriptive of its capability. (See footnote 2 for a brief justification of my potential as a buyer.) Yet I assert that I would be hard-pressed to justify an expenditure of as little as $20 for this machine. And why do I place such a small value on owning this marvel? (It’s probably at least as useful as an HP15C, which I regard as an absolute jewel.) Bluntly speaking: every day that I saw it would be a painful reminder of an absolutely silly set of algebraic capabilities using, I strongly suspect, a substantial portion of the 128 Kbytes of built-in operations. In a section below I’ll comment more fully upon my strong antipathy for this feature of the HP28C. But before doing so I’d like to pursue a little further the line of thought introduced in this section. Let’s accept the "scientific professional" phrase as indicative of the intended market. What, then, are the features most wanted by such a user? The focal point for answering that question lies in some realistic description of his calculating needs. Surprisingly enough, there is a strong consensus. A simple scan of the contents of the IMSL (International Mathematical and Statistical Library) or the IBM Scientific Package -- both collections of FORTRAN subroutines widely used in engineering and scientific computing tasks -- will quickly show the kinds of capability valued by a "scientific professional". Since the designers of the HP28C apparently saw fit to ignore this readily available source of useful operations to implement (in order to follow the will-of-the-wisp playthings of their pathetic caricature of ‘symbolic math’), I supply gratis (in the section following the extended remarks regarding symbolic math) a list of widely need quick-calculation capabilities, together with a priority weighting based on almost 30 years experience in applying mathematics and computer-assisted analyses to a wide variety of engineering design and development projects. Here I’d like to express in clear stark terms some obvious but extremely important criteria for making choices when available computing resources force a pruning process on an initial list of features to implement. Why have highly portable computing devices become so popular? I’ll restrict my answer to technical users, but some of these observations apply with monor changes to all users. Before the advent of these devices, engineers made do with slide-rules, and they did quite well despite the extremely limited accuracy. As Hamming observed with some exaggeration: "the purpose of computing is insight, not numbers." Speed was clearly the principal advantage of a slide rule over paper and pencil, wherever an approximate answer was all that was needed to make a judgment. And speed is in some sense very close to the meaning of convenience. To be sure, convenience has other aspects: e.g., self-sufficiency (not having to get hold of a special tool for each task); yet this too is speed in another guise. Even now, despite the widespread availablity of electronic helpmates, a simple pencil or pen and a small notebook still provide a very useful and portable general purpose tool kit. They can be used quickly, they’re very light and unobtrusive, and any data-bank so constructed is less subject to accidental loss than is the memory-banks of some electronic notepad. Mind you, I’m not denigrating some limited utility of calculators for this function -- I am trying, however, to place the matter in perspective, to counterbalance the tendency of calculator ‘nuts’ (including yours truly) to simply be entranced by electronic gadgetry, even when employed to do a task where any dispassionate observer can clearly recognize the aid is requiring more effort than it is saving. (Nowhere - - that I can think of, off-hand -- is this better illustrated than when using the algebraic transformations offered by the HP28C -- see the next section.) Sure! Some people are fascinated as by a toy. But what sells is: ***I can do a lot more in a given period of time with the electronic helpmate than without it.*** You may not turn that ‘can do’ into ‘actually do’, but the potential ability is enough to convince most buyers. The next obvious important yet overlooked point has to do with frequency of occurrence of a need -- ***I need this with me every day because it streamlines the tasks I face each day.*** or the negative counterpart -- ***Most of the options available on this device I would seldom if ever need.*** It is clear that the HP28C design team did not have these straightforward considerations prominently in the foreground of their deliberations when they established their coding objectives, and observation I will elaborate in the next two sections of this article. Symbolic Mathematics I’ve already alluded to the fact that most of my professional career has been devoted to the use of mathematical analyses and the formulation and/or use of CAD tools in the service of wide variety of engineering projects -- a period of almost 30 years. Yet in all that time I had occasion only once (about 20 years ago) to employ a symbolic processor. We wanted to fit a 17-parameter Ebers-Moll model to transistor types used by our staff so that the transient behavior of circuits employing such transistors could be simulated using SCEPTRE which was a state-of-the-art circuit analysis program -- at that time. (I’m not giving you the whole story; I just want to provide some context for the reason I decided to use a symbolic math program.) I decided to try a Newton-Raphson iteration technique on all 17 parameters (a poor decision, I eventually learned -- but that’s another story); and that led naturally to the need to evaluate 289 partial derivatives as a way of making the iteration efficient. Now anyone familiar with basic calculus recognizes that evaluating symbolic derivatives is a trivial task if there are only a few to evaluate. But 289! -- that can become tedious, and when a task becomes tedious the chances for fatigue- induced errors increase Well, to make a long story short, I spent the time evaluating all 289, but before proceeding to prepare code for the iteration I wanted some check on my accuracy. I knew it was useless to check my own work (too likely to repeat the same train of thought, and make the same errors), and I didn’t trust someone else to take the necessary care (even were I able to talk him or her into it), so I took a look at REDUCE (an unused program we’d had for a while) to see if it could be used to check my work. As I remember it, REDUCE at that time simply handled algebraic manipulations, but it offered the option of writing macros or subroutines (I don’t remember which) that made it possible to get it to evaluate symbolic derivatives. In the process, however, I discovered some important limitations of programs like REDUCE. First of all (even making allowances for the process of learning how to use REDUCE), it would have been far more efficient had I been able to find someone with enough patience and time to have checked my work. Secondly, were it not for the fact that REDUCE’s output was spread out over 11-in. wide fan-fold paper, it would not have been far more tedious to compare that output with my expressions, than for me to simply do the whole thing over manually, starting from scratch and not referencing my first work. Putting it another way: had I used REDUCE from the start to evaluate the 289 derivatives (and we’ll assume I was already an expert in the use of REDUCE, so that there would be no need to spend time to get ‘on-board’), there isn’t the slightest doubt in my mind that it would have taken as much time to translate REDUCE’s output to an efficient human-readable form for coding the derivatives into my iteration program as it would have taken to manually perform the differentiations two times, the second time completely independent of the first, and compare the two in order to root out errors. REDUCE is admittedly a relatively crude representative of this genre of program, but is leagues ahead of what was implemented on the HP28C. I have been told by some colleagues of mine that MACSYMA (probably the best of this genre) can be very helpful in some contexts (one mentioned is quantum mechanics calculations), and I have seen MACSYMA in action on a SYMBOLICS system we have at my place of work, but the resources of a SYMBOLICS system are totally out of the ball-park, as far as the HP28C is concerned. Probably the most important single requirement for effective symbolic calculation aids is a high-quality display system that presents output in a form which closely mimics what the analyst would write on paper, and this the SYMBOLICS system does superbly. At the very least, a large display is indispensable, so the analyst can easily get the drift of the entire expression. The tiny HP28C display is totally inadequate for this feature. Furthermore, the SYMBOLICS/MACSYMA combination handles a great deal of non-trivial manipulation, including effective use of well-stocked tabulations of the type found, e.g., in Gradshteyn-Ryzhik’s Table of Integrals, Series, and Products. The trivia implemented on the HP28C is totally worthless to anyone on this planet, whether or not technically-oriented. It’s hard to understand what was going on in the heads of the HP28C design group -- really, I’m serious. Did anybody -- I mean anybody -- simply sit down with the ‘completed’ product and work out a few ‘slightly more than trivial’ algebraic manipulations?? Let me give you an example of a ‘slightly more than trivial’ manipulation: expand (2*x^2*y + 3*z)^3. Supposing, for the sake of discussion, that the HP28C with a single key stroke would deliver 8*x^6*y^3 + 36*x^4*y^2*z + 54*x^2*y*z^2 + 27*z^3 (which is certainly what is intended by the phraseology ‘expand...’), whould I still feel the capability not worth the cost of implementation? Yes, I would!! But were this the immediate output, my case would be considerably weakened. In fact, however, the HP28C does nothing of the sort. What it delivers is (2*x^2*y + 3*z)*(2*x^2*y + 3*z)^2. Now isn’t that enlightening?? Knowing where I want to go, I can (if I’m willing to spend the time -- I’ve nothing better to do for a major portion of an afternoon) proceed to alternate back and forth between the main ALGEBRA menu and the FORM submenu (allowing me to do such extraordinarily helpful things as distribute products through a sum group terms through left or right association, etc.), very carefully choose the appropriate sequence of miniscule transformations, and -- lo and behold -- my patience will be ‘rewarded’. My God, its like some unbelievable nightmare!! Talk about negative inducements!! Why would anyone go about it this way?? Tiddlywinks is more worthwhile. A student?? If he’s having trouble with algebra, this is a way to help him?? Just to get this ‘wonder’ to do this trite task requires expertise capable of much more. Certainly the expertise required would have been sufficient to write the answer in half a minute. If I were foolish enough to become highly familiar with the EXPAN, COLCT, and the somewhat less than 30 operations included in the FORM submenu, and to become skillful in choosing appropriate sequences, I cannot by the wildest stretch of imagination conceive of being able to perform this example task using the ‘symbolic math’ of the HP28C in less than 10 minutes. I strongly suspect that that estimate is too low by at least a factor of 2. So much for the symbolic algebra operations. How about symbolic differentiation and the so-called TAYLR operation? (TAYLR is supposed to signify Taylor series. What this operaton allows is a user-specified number of terms of Maclaurin expansion -- a Taylor series can be generated using this operation and some algebraic substitution requiring more than half a dozen keystrokes.) I concede that the symbolic derivative and ’Taylor’ expansion operatons were done reasonably well, but who really needs them? Symbolic differentiation is a very simple process. Furthermore, the need for it is not very frequent. The one significant place where it could be helpful is general multi-dimensional Newton-Raphson operation, where the user need only supply the components of f and an initial approximation (plus some criteria for limiting the number of iterations) in order to set up the search for a nearby solution of f(x)=0. The use of symbolic derivatives rather than numerical differentiation would improve the efficiency of iteration. Possibly this could be programmed on the HP28C. As has already been pointed out, however, user space is at a premium: it would probably be impractical to keeep such a program permanently in memory, could one that fit be devised, as it would severely cut into the space available for variables. (I didn’t have the machine long enough to actually check this out, so conceivably it might be possible to make such a program quite compact.) Obviously, symbolic derivatives permit very accurate derivative evaluations at points of interest, but for most practical situations numerical differentiation is sufficiently accurate, and would suffice. As for Maclaurin or Taylor series, these are easy to genereate the few times they occur in the typicla work of the "scientific professional"; their role in the symbolic integration facility offered on the HP28C does not particularly raise their weight in selecting which capabilities to implement on a calculator intended for technical use. Again: until and unless a hand calculator is developed able to approach in resources the power of the SYMBOLICS/MACSYMA combination, forget ‘symbolic math’. What you will get for your coding efforts will be of little consequence to the "scientific professional". And frankly, I can’t believe that the HP28C design group didn’t realize towards the end that what they had was a farce. But it was too late: too much water under the bridge! The Importance of the 2nd Tier What separates a genuine technical helpmate from the run-of-the-mill scientific calculators? Simply put -- the number of 2nd tier capabilities provided!! I’ve already alluded to a general consensus throughout the technical community as to the kinds of numerical analysis tools often required for scientific and engineering projects. And Hewlett-Packard has make a good start in this area, first with the HP34C, continuing with the HP15C, and yes, even the HP28C. But with the vastly expanded resources they had with the 28C they couild have done so much better in the 2nd tier area. It’s clear enough that the Corvallis operation had some awareness of this area. Look at their early offerings of plug-in ROMs for the HP71B: the Math Pac and the so-called Curve Fitting Pac. Both of these contain some excellent examples of 2nd tier tools. As almost any sizable sample of individuals engaged in electrical or mechanical engineering design the kinds of numerical analysis tools they would find useful, and certain ones will appear on most such lists: -->Control theory, filter design, linear circuit analyses frequently couch their problems in terms of Laplace transforms --> tool implications -- complex arithmetic, polynomial roots, partial fraction expansions, inverse Laplace transforms, Bode plots, etc. -->Spectral analyses in signal and image processing, and in time-series analyses in a wide variety of contexts make heary use of discrete Fourier transforms --> tool implications -- a bidirectional multidimensional FFT, with sample size along any axis preferably no restricted to composite integers whose only prime factors are 2’s. -->System modeling is frequently needed. Continuous parameter simulations use descriptions by differential equations, while discrete parameter simulations typically use context specific probability distributions (in so-called Monte-Carlo models) --> tool implications -- solvers for systems of differential equations; generating random variables satisfying user-defined distributions. -->Certain special functions arise sufficiently in technical work to merit key- activated invocation: Bessel functions (especially types J and I), classical families of orthogonal polynomials, particularly Legendre and Chebyshev, and, to a lesser extent, Laguerre and Hermite (all useful in curve fitting and Gaussian-type integration algorithms). -->Sophisticated interpolation capabilities are always welcome. Especially useful are cubic splines. -->Certain standard probability distributions are used repeatedly: Normal, Poisson, Cauchy, exponential, to name some. -->Beyond the 15C and/or 28C collection of matrix functions, two noteworthy omissions are -- generalized inverses; and the singular-value decomposition -- both immensely useful. -->Numerical integration is extremely useful, but why restrict it to one dimension -- the HP71B Math ROM didn’t. -->Likewise, evaluating roots of f(x)=0 is undoubtedly useful. Why not extend the capability to more than one dimension? Sure, in such cases you would have to provide a first approximation, and a ‘good’ one at that; and you can’t guarantee convergence! Fine, it’s still impossible to exaggerate the value of a tool to refine a good first approximation. -->Another candidate of undoubted value: Tools for multivariable optimization (a la the HP71B Curve Fitting Pac). In brief, there’s no shortage of useful tools to incorporate into our electronic helpmate. Why was this are given such short shrift in the HP28C in favor of some ephemeral benefit of ‘symbolic math’?? I’m sure I don’t know. I can guess, but it’s clearly speculation. One or more of the design team became obsessed, lost sight of the buyer, and failed to realize before it was too late that the target capability was beyond the resources. It’s quite possible, however, that they still don’t realize that the imagined benefit of the feature they sought to offer (had they succeeded to a better extent) would have been slight compared to what they could have done with more appropriate goals. I’ll close this section with a specific list of 2nd tier tools I have found useful, divided into three sublists corresponding to three levels of priority from high to low. I have not included tools currently implemented on the HP15C and/or HP28C. ***IMPORTANT*** Generalized matrix inverse -- without significant loss could be restricted to matrices having at least as many rows as columns, and with rank equal to column rank. Singular-value decomposition -- applicable to any matrix, square (whether or not singular) or rectangular -- best way of developing insight into the nature of the transformation represented by the matrix. Differential equation solvers -- handle systems of differential equations y’ = f(x,y); the following are recommended -- Runge-Kutta (classical 4th-order) Bulirsch-Stoer Hamming Predictor-Corrector Random variables satisfying user-defined distributions -- easy to do, and would permit off-the-cuff tests of simple Monte Carlo models. Polynomial root solver -- Laguerre method best candidate. Partial-fraction expansions -- would facilitate evaluation of inverse-Laplace transformations. Discrete Fourier transformations -- not restricted to one dimension , and using FFT algorithms which take advantage of decomposition of sample array dimensions into prime factors (not necessarily only 2’s). ***USEFUL*** Bessel functions -- at least J and I types for real arguments 0 through 100 and non- negative integer orders 0 through 100 (except where underflow or overflow prevent). Coefficient evaluation for Chebyshev and Legendre polynomials. Evaluation of polynomials at selected points. Single key invocation of physical constants: charge on an electron, gravitational constant, mass of an electron, speed of light, Boltzmann constant, etc. multidimensional Romberg integration -- a la HP71B Math Pac; with more than one dimension, there should be an option for Legendre-Gaussian iterated integration to keep execution time down wherever the option can be safely used. multidimensional Newton-Raphson -- locate zero of system f(x)=0, near a ‘good’ first guess. numerical differentiation -- including partials. Random variables satisfying Gaussian (Normal) and Poisson distributions. Areas of arbitrary triangles; volumes of arbitrary tetrahedrons -- easy way to approximate areas and volumes of irregular 2- and 3-dimensional objects. Bernoulli numbers -- very useful in Euler-Maclaurin summation formulas. ***DESIRABLE*** Rectangular to/from spherical coordinate conversions. Easily rotate 3-vectors about a user-specified axis through a user-specified angle. Easily evaluate gradient, divergence, or curl -- the limited precision of numerical differentiation would be acceptable. Coefficient evaluation of Laguerre and Hermite polynomials. Polynomial arithmetic -- coefficient arguments, coefficient results; for division, produce two coefficient lists (quotient, remainder). Conclusions The HP28C has a lot going for it. It uses a more powerful microprocessor than the HP41C and its kin from the HP35A to the HP15C: faster, larger address space, larger ‘word’ size, and a more versatile instruction set. The packaging restrains memory usage to 130 Kbytes (128K for the operating system), introduces a 4-line, 23- character wide display and two keyboards, and provides coat-pocket portability. The user interface is a definite advance over that of earlier scientific calculators, borrowing heavily on the stack concepts of FORTH, a logical and satisfying modification and extension of HP’s original RPN stack concept. Unfortunately, however, much of the potential implicit in the increased resources available to this calculator was squandered in a misguided and vain attempt to provide so-called "symbolic math" features. What was achieved in this direction was either outright silly, or of little consequence to the "scientific professional". Almost totally ignoring a host of numerical analysis options know to be valued by the technically-oriented class of buyers addressed (it is called the "Scientific Professional"), the HP28C design ‘heroically’(?) sought to implement a symbolic math capability they couldn’t rationally expect to achieve with such limited resources and the severely limited display available. The practical utility of the product they ended up with scarcely exceeds that of the HP15C. That it is more useful than an HP15C -- even slightly -- is in fact debatable! A pity!! I sincerely hope that HP finds a way to better tap the potential of the Saturn processor for this class of machines. -------------------------------------------------- Footnotes 1. In the mid-70’s (around the time of the HP35A and 65A; I can’t remember exactly) Commodore came out with a number of non-programmable scientific calculators. Two in particular are the SR4190 and the even more ambitious M55. In addition to the fundamental set the SR4190 offered complex arithmetic, permutations and combinations, ordinate (frequency) evaluation of the binomial, Gaussian and Poisson distributions, gamma function, summary statistics (including linear regression), trapezoidal integration, and unit conversion for about 2 dozen commonly used units. The M55 went even further, adding: uniform random numbers, 2-by-2 matrix arithmetic (including determinant evaluation), Bessel functions (J-type, non-negative integer orders), vector arithmetic (including dot and cross products), error function, incomplete gamma function, rectangular to/from spherical coordinate transformations, key- activated solution of quadratic equations, evaluation of Legendre and Laguerre polynomials, and single-key fetch of 10 physical constants (Planck’s, Boltzmann’s, Universal Gas, Universal Gravitational, Avogadro’s Number, electronic rest mass and charge, velocity of light, permittivity and permeability of free space). 2. Since 1960, I have been an applied mathematician; since 1965, the activity has included the aid of computers. The following list is incomplete (classified projects must be skipped, and esoteric projects take too long to describe), but it does provide some indication of the variety of applications. -->reducing error in digital communication systems; -->workload scheduling for reconnaissance satellites; -->devising pattern recognition techniques; -->designing statistical decision procedures; -->reducing noise and signal degradation in telemetry systems; -->conducting simulation studies on an analog computer of a novel phase-lock loop for establishing bit synchronization with a PCM video signal; -->improving the reliability of the uplink to the Agena vehicle during the Gemini phase of the space program; -->designing software to facilitate hybrid simulations; -->modeling radar systems to predict performance; -->evaluating power spectrums; -->evaluating intermodulation ‘noise’; -->modeling circuit components for computer-aided circuit analysis; -->designing analog and digital filters; -->evaluating distributed resistance of thin films for hybrid circuit design; -->designing and implementing methodology for evaluating system effectiveness; -->modeling underwater acoustic propagation for predicting sonar system performance; -->simulating the motion of an underwater vehicle via a 6-degree-of-freedom model; -->modeling microwave antennas to predict performance; -->modeling the performance of a proposed automatic mooring system; -->evaluating the spectrum of noise transmitted through a data transmission cable employing a 3-level encoding (ternary representation) of signal level; -->modeling thermal behavior within a satellite subsystem.