HP Forums
Ways to Implement Computer Algebra Compactly - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html)
+--- Forum: General Forum (/forum-4.html)
+--- Thread: Ways to Implement Computer Algebra Compactly (/thread-21859.html)



Ways to Implement Computer Algebra Compactly - SlideRule - 06-08-2024 10:03 PM

Some excerpts from ACM Communications in Computer Algebra, issue 178, number 4, December 2011, pages 199 - 224

TABLE OF CONTENTS
199 Ways to implement computer algebra compactly – D. R. Stoutemyer

                                                        Abstract
   Computer algebra had to be implemented compactly to fit on early personal computers
and hand-held calculators. Compact implementation is still important for portable hand-held
devices. Also, compact implementation increases comprehensibility while decreasing development
and maintenance time and cost, regardless of the platform. This article describes several
ways to achieve compact implementations

   Section 2 describes the typical constraints of early micro-computers and programmable calculators

2 Early micro-computers & programmable calculators

   Programmable calculators were even more spartan. There was typically enough memory for
about 100 steps of an interpreted assembly-like language that provided instruction mnemonics and
some preassigned symbolic address labels such as Lbl1, Lbl2, etc. Typically the one-line display
was only about 14 characters wide and incapable of displaying most characters other than what is
necessary for floating-point numbers. Sometimes there was a slot for ROM cartridges containing
programs purchased from the manufacturer or a third party. Usually programs and data could be
stored to and loaded from secondary storage consisting of a magnetic strip or a miniature magnetic
tape cartridge

3.1 Dense univariate series and polynomial algebra

   In 1977 Henrici [9] describes an analogous set of subroutines for univariate Maclauren series
on the HP 25 calculator, which had memory for only 49 steps, 8 direct-address registers, and a
4-register stack. The limited memory forced Henrici to use some ingenious indirect methods so that
each coefficient of a result could be computed independently.
   In 1977 Stoutemyer [25] described an analogous set of routines for the 224-step HP 67 and HP
97 calculators, using the more traditional algorithms described by Knuth [17]. All series were of
degree 9. Table 1 lists the number of program steps and the execution times for the implemented
operations, which are independent of the particular ten input coefficients for each polynomial.

                   Table 1: Size and speed of the HP-67 Maclauren-series operations

   Though narrowly scoped, the two HP calculator series programs were interesting demonstrations
that useful computer algebra could be done with floating point arithmetic and 49 or 224 steps of
assembly language.

…                                    PicoMath also ran on the 1×7×17 cm Sharp PC-1211 or Radio-Shack
Pocket computer, which had 2 kilobytes of RAM.
   PicoMath is actually four separate programs for simplifying expressions to four different classes
of results:
… etc …

a most interesting read.

BEST!
SlideRule