Durabrand 828
Datasheet legend
Ab/c:
Fractions calculation
AC: Alternating current BaseN: Number base calculations Card: Magnetic card storage Cmem: Continuous memory Cond: Conditional execution Const: Scientific constants Cplx: Complex number arithmetic DC: Direct current Eqlib: Equation library Exp: Exponential/logarithmic functions Fin: Financial functions Grph: Graphing capability Hyp: Hyperbolic functions Ind: Indirect addressing Intg: Numerical integration Jump: Unconditional jump (GOTO) Lbl: Program labels LCD: Liquid Crystal Display LED: Light-Emitting Diode Li-ion: Lithium-ion rechargeable battery Lreg: Linear regression (2-variable statistics) mA: Milliamperes of current Mtrx: Matrix support NiCd: Nickel-Cadmium rechargeable battery NiMH: Nickel-metal-hydrite rechargeable battery Prnt: Printer RTC: Real-time clock Sdev: Standard deviation (1-variable statistics) Solv: Equation solver Subr: Subroutine call capability Symb: Symbolic computing Tape: Magnetic tape storage Trig: Trigonometric functions Units: Unit conversions VAC: Volts AC VDC: Volts DC |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*Later versions may be using a different chipset, yielding different forensics.
Durabrand 828
I finally went to Wal-Mart and picked up a Durabrand 828 graphing calculator. I already knew what to expect, since it's the Citizen SRP-320G in disguise. And even before I acquired this machine, Palmer Hanson was kind enough to send me a very comprehensive review that I am including here with his permission. And yes, the Durabrand 828 deserves a review, not because it is that good (mind you, it is not at all a bad machine!) but because it is that cheap, bringing a decent educational tool to the masses... thanks to Wal-Mart and cheap Chinese labor, I guess.
It appears that this calculator may have several variants. I received an e-mail from a user who tells me that his Durabrand 828 produces a different forensic result (8.999999998078897), and behaves slightly differently. And now I find that one of my Durabrand 828 machines would not accept graphing commands in programs, even though the manual explicitly discusses such use. Beware of these subtle differences before you buy one of these calculators... it's always best to check out in the store, if you can, if the model does everything you want it to do.
So without further comment, here's what Palmer has to say:
Introducing the Durabrand 828 Graphing Scientific Calculator
In mid-2006, the Durabrand 828 Graphing Scientific Calculator appeared in the calculator displays at Wal-Mart stores. The price is a few pennies under twenty dollars. "Durabrand" is a Wal-Mart trade name. The Durabrand 828 is made in China and imported by World Import Co. (WICO) of Kennesaw, Georgia.
The calculator is slightly smaller than an HP-33S. It uses a single CR2032 cell. The manual says battery life should be about 350 hours. The shifted functions and the alpha functions are printed in very small letters some of which are very faint.
The functions and layout of the machine are very reminiscent of the early Casio graphic calculators such as the fx-7000G; e.g., the machine uses the same 45 degree right triangle to indicate a quantity to be displayed, the mode callouts are identical, the number of programs and labels is the same, etc.
The manual is printed in English and Spanish. The printing is small and very light. A more legible manual is available on-line at http://www.worldimportco.com/graphcal/english/eng2.html. There are many differences between the hard-copy manual and the on-line manual. I could not find a way to print out more than one page of the on-line manual at a time. Much of the text of the Durabrand 828 manual is identical with the text in the fx-7000G manual, even to the point of including information which does not apply to the Durabrand 828 but does apply to the fx-7000G.
The Display
The screen of the Durabrand 828 is about 5.3 cm x 2.6 cm. When I saw it in the store with power off I thought that it might be able to offer at least four lines of text. When I got power on I found that it actually offers a single full line line of eleven characters, a partial line of three characters which is used for the exponent in scientific mode, and a 35×23 pixel graphics screen. The graphics screen is about 2.4 cm wide by 1.6 cm high. This means that a substantial portion of the window area isn't used for anything! For comparison, the fx-7000G displays eight lines of sixteen characters of text or a 95×63 pixel graphics screen which is about 5.1 cm wide by 3.3 cm high in a window which is about 5.5 cm wide by 3.7 cm high.
One of the advantages of the graphing scientifics is that a multi-line screen lets the user see previous results. This is not the case with the Durabrand 828. Even so, it is an easy task to solve the famous (or infamous, as Wozniak saw it) Mach Number problem as the equation scrolls through the display.
Some Interesting Arithmetic
Many calculations such as π, square roots, sines and cosines are carried out to sixteen digits! For example, I pressed SHIFT π EXE and saw 3.141592654 in the display. I subtracted 3.1415926 and saw 5.3589793E-08 in the display indicating that the machine delivered the sixteen digit value 3.141592653589793 for π which is correct in the truncated sense. When I stored π to one of the memories and read it back I found that the display register contained only 12 digits.
I tried some square roots with the following results where the Ans value is the one originally returned to the display register and rounded to ten digits in the display. The "stored" value is the one returned after storage and recall:
2 Exact 1.41421 35623 73095 04880... Ans 1.41421 35623 73095 Stored 1.41421 35623 7 3 Exact 1.73205 08075 68877 29... Ans 1.73205 08075 68877 Stored 1.73205 08075 6 π Exact 1.77245 38509 05516 02729... Ans 1.77245 38509 05515 Stored 1.77245 38509 11 Exact 3.31662 47903 55399 8491... Ans 3.31662 47903 55399 Stored 3.31662 47903 5 97 Exact 9.84885 78017 96104 7217... Ans 9.84885 78017 96104 Stored 9.84885 78017 9 where each of the calculated values was correct to sixteen digits in the truncated sense. I tested the word length using a modification of the test proposed by Rodger Rosenbaum in a thread in the HP Museum:
100000000/7 - 14285714
and saw 0.28571428 in the display confirming that the word length is sixteen digits.
Sines and cosines are also calculated to sixteen digits. The sine and cosine of 45 degrees are equal to the square root of two divided by two. The sine of 60 degrees and the cosine of 30 degrees are equal to to the square root of three divided by two. The sine of 39 degrees and the cosine 51 degrees are equal to each other. On the HP-33S sines and cosines are calculated to twelve digits; the sine and cosine of 45 degrees are not equal to the square root of two divided by two, and the sine of 60 degrees and the cosine of 30 degrees are not equal to the square root of three divided by two.
Logarithms and exponentials are NOT returned to sixteen digits:
e Exact 2.71828 18284 59045... Ans 2.71828 18284 59 Stored 2.71828 18284 5 ln(10) Exact 2.30258 50929 94045... Ans 2.30258 50929 94 Stored 2.30258 50929 9 But, it isn't just the the mantissas of transcendentals that are calculated to extra digits. Consider the fifteen digit square of 11111111 which is returned as 1.234567877E14 in the display:
Exact 123456787654321 Ans 123456787654321 Stored 123456787654000 Now, calculate the fifteen digit square as before. Then, press × 11 EXE and see 1.358024664E15 in the display. The display register reads out as
1.358024664197531E15
which is correct. It seems that as long as the user keeps the calculation in the display register then the sixteen digit mantissas will be maintained.
Solving the Mach Number Problem
The Durabrand 828 really shines when solving the famous Mach Number equation which appears frequently in the H-P literature. Since the machine accepts implied multiplication the user simply enters the equation as written except that (1) an additional set of parentheses is needed to enclosed the entire problem under the square root sign, and (2) the parentheses enclosing the quantity 6.875 × 10^{–6} are not needed. The keystroke sequence
√ ( 5 ( ( ( ( ( 1 + . 2 ( 3 5 0 ÷ 6 6 1 . 5 ) x^{2} ) x^{y} 3 . 5 - 1 ) ( 1 - 6 . 8 7 5 EXP SHIFT - 6 × 2 5 5 0 0 ) x^{y} SHIFT - 5 . 2 6 5 6 ) + 1 ) x^{y} . 2 8 6 - 1 ) ) EXE
will yield the answer 0.835724535 in the display after 74 steps. No intermediate results are available as with RPN and AOS machines. To calculate the Mach Number for a different altitude and air speed the user only needs to press the right cursor key, see the beginning of the previously entered equation in the display, scroll to the appropriate places and insert the revised altitude and air speed, press EXE and see the solution for the new input values.
Statistics routines
The fx-7000G uses the normal data registers P, Q, R, U, V and W for statistical accumulations. The Durabrand 828 does NOT use those registers but rather seems to have a separate set of six statistics registers which can be accessed with MODE ALPHA followed by P, Q, R, U, V, or W as in the following table:
P Σ y^{2} Q Σ y R Σ xy U Σ x^{2} V Σ x W n The accumulated sums can be recalled from all six of the statistics registers in a program which is in the LR1 or LR2 mode. The accumulated sums can only be recalled from the last three statistics registers in a program which is in the SD1 or SD2 mode. Numbers cannot be stored in those registers other than with a DT command.
In the fx-7000G the SD2 mode (SHIFT MODE ×) provides a "Single Variable Statistical Graphs" capability (pages 83 to 86 of the fx-7000G manual) which can develop and analyze histograms. The LR2 mode (SHIFT MODE ÷) provides a "Paired Variable Statistical Graphs" capability (pages 87-88 of the fx-7000G manual) to plot input points and a regression line. You can call the SD2 and LR2 modes on the Durabrand but there is no information in the manual on how to use the modes. You can input data as described in the fx-7000G manual but the plotting does not occur as with the fx-7000G. A program which will mimic the graphing capability of the LR2 mode of the fx-7000G on the Durabrand 828 is presented later.
Programming
The Durabrand 828 does NOT provide alphanumeric prompting as described in paragraph 4.9 (page 47) of the manual. (At least, I have been unable to do it!) For example, the manual indicates that if the user enters the command "N="?→A then the machine will display N=? and wait for an input. The fx-7000G does that. The Durabrand does not. To see the prompt with the Durabrand one has to insert the "Display Results" triangle (⊿) between the = and the ?. The calculator will then stop with X= in the display. The user will have to press EXE to see the question mark and press EXE again after the input value has been entered.
The Durabrand 828 offers ten program areas (0 through 9) and ten labels (0 through 9). Each program may use all ten labels irrespective of whether the labels are used in another program. That does NOT mean that a user program is limited to the use of ten labels. A note on page 43 of the manual states "A GOTO n contained in a subroutine will jump to the corresponding Lbl n contained in that program area." This means that program areas can be concatenated through the use of subroutine calls to yield a combination program with ten labels available for each program area used.
Sample programs which follow include
- A random walk demonstration which illustrates the graphing capability of the machine.
- A program which mimics the LR2 capability of the fx-7000G.
- An improved quadratic solver which includes a modified routine which reduces roundoff error.
- A rudimentary fraction finder.
- A sixth order linear equation solver.
A RANDOM WALK DEMONSTRATION:
The Feynman Lectures on Physics (Addison-Wesley) discusses the concept of random walk and states
"... In its simplest version, we imagine a 'game' in which a 'player' starts at the point x = 0 and at each 'move' is required to take a step either forward (toward +x) or backward (toward -x). The choice is to be made randomly, determined for example, by the toss of a coin ..."
More complex random walk phenomena involves both the direction and the magnitude of each step determined randomly.
The following listing provides essentially the same demonstration program that I published for the Casio fx-7000G back in 1986 in V11N2P19 of TI PPC Notes. With the fx-7000G I was able to set the range parameters in a line in the program. I have been unable to find a way to incorporate a Range command in a Durabrand 828 program; therefore, the range parameters must be set before running the program. I can enter the range parameters but I can't get out of the Range entry mode without turning the calculator off. The Range settings stay in place when I turn back on and when I run the program. A workable set of range settings is –1, 33, 10, –11, 11, 5.
Lbl 1 : Cls : 33 → B : 0 → C : Lbl 2 : C - 1 → C : Ran# < .5 => C + 2 → C : Plot 33 - B , C : Dsz B: Goto 2 : Graph Y=0 ⊿ Goto 1 ⊿If instead you use range settings of 0, 34, 10, –11, 11, 5 you will see that the positive y axis ends at +4 but the scale blips are in place at +5 and +10. This curious display is caused by the fact that the display area is not a rectangle. rather, the display area is 35 pixels wide in the lower portion but only 33 pixels wide in the upper portion.
LR2 EQUIVALENT PROGRAM:
You can achieve the equivalent of the fx-7000G LR2 mode from the keyboard by entering LR1 or LR2 mode, entering the data points with the DT command, plotting the data points with the Plot command, and drawing the regression line with Graph A + BX command where the A and B are not the contents of the A and B registers but rather are the regression constants calculated with SHIFT 7 and SHIFT 8. This means that the user must enter each data point twice. The following program will enter and plot the data points, accumulate the regression sums, display the regression coefficients and superimpose the regression line on the graph of the data points. Among other things it demonstrates the ability to use subprograms to move into and out of the regression mode, to recall the contents of the statistics registers and to recall the coefficients of the linear regression in a program.
Program 0: The main program which runs in normal mode
Lbl 0 : Prog 1 : Cls ⊿ " N = " ⊿ ? → N : Lbl 1 : " X = " ⊿ ? → X : " Y = " ⊿ ? → Y : Prog 2 : Ans ≠ N => Goto 1 : Prog 3 : Goto 0 :Program 1: A subroutine which clears the statistics registers with an Scl command. It must be entered in LR mode (mode ÷).
SclProgram 2: A subroutine which enters a data point into the statistics registers, plots the point and recalls the number of data points entered for use in the main program. It must be entered in LR mode. The n is entered with the sequence MODE ALPHA W.
X , Y DT : Plot X,Y ⊿ nProgram 3: A subroutine which displays the linear regression solution and adds the linear regression line to the data point plot. It must be entered in LR mode. The A's and B's in the subroutine are NOT data registers but are the linear regression coefficients which can be recalled with the sequences SHIFT 7 and SHIFT 8 and which appear in the display as truncated letters. The r is entered with the sequence SHIFT 9.
"A" ⊿ A ⊿ "B" ⊿ B ⊿ "r" ⊿ r ⊿ Graph Y= A + BX ⊿To use the program:
- Set the appropriate range parameters. Turn the machine off and then on again.
- Press Prog 0 EXE and done in the display.
- Press EXE and see N= in the display. Press EXE and see a question mark in the display.
- Enter the number of data points. Press EXE.
- See X= in the display. Press EXE and see a question mark in the display.
- Enter the X coordinate of a data point and press EXE.
- See Y= in the display. Press EXE and see a question mark in the display.
- Enter the Y coordinate of the data point and press EXE.
- See a graph defined by the range parameters. Any previously entered data pairs will appear steady. The newly entered data pair will be flashing. Press EXE to continue.
- If less than n data points have been entered the program will go to step 5 to enter another data point.
- If all n data points have been entered the program will go to step 12 to see the regression results.
- See the shortened A in the display.
- Press EXE and see the y intercept of the regression line in the display.
- Press EXE and see the shortened B in the display.
- Press EXE and see the slope of the regression line in the display.
- Press EXE and see r in the display.
- Press EXE and see the correlation coefficient in the display.
- Press EXE and see the regression line superimposed on the plot of the data points.
- Press EXE and see done in the display. Go to step 3 to start a solution for a new set of data.
If you have access to an old fx-7000G you can compare the plot that you get with the LR2 mode and the problem defined on pages 87-88 of the fx-7000G manual with the plot you get with the Durabrand for the same problem using the programs defined above. What you will see is just how limiting the small display area of the Durabrand really is. I couldn't make pictures of the two displays. The following sketches present an approximate comparison.
Durabrand fx-7000G AN IMPROVED QUADRATIC SOLVER:
Page 31 of Maurice D. Weir's Calculus by Calculator (Prentice-Hall, 1982) gives the typical algebra textbook solution for a quadratic equation but then states:
"... The program QUADS calculates the real roots (if they exist) for any specified quadratic equation. The formula used is a modification of Equation 1.11 [the algebra textbook form] to reduce roundoff error."
Analysis of the QUADS program reveals that the solution sequence is:
- Calculate the determinant D = B^{2} – 4AC
- Calculate the value E = (√D + |B|)/2A
- Change the sign of E if B < 0
- Calculate the real roots as C/AE and E.
Robert Prins of the Netherlands, who was one of the "superprogrammers" for the early programmable calculators sold by Texas Instruments (e.g., the TI-57, TI-59, TI-66 and TI-95), provided an example which illustrates the power of the improved quadratic solver. If A = 1, B = 10^{7} and C = 1 then the roots are R_{1} = –10^{7} and R_{2} = –10^{–7}. Quadratic solvers which implement the algebra textbook form will find the larger root correctly but find that the smaller root is zero, The improved program which follows will find both roots correctly.
"AX^2 + BX + C"⊿ Lbl 9: "A=" ⊿ ? → A : "B=" ⊿ ? → B : "C=" ⊿ ? → C : "A ≠ 0 => Goto 1 : "R=" ⊿ - C ÷ B ⊿ Goto 9 : Lbl 1 : B ÷ 2 → B : B^{2}- A C → D : D ≥ 0 => Goto 2 : "RE=" ⊿ - B ÷ A ⊿ "+-Im=" ⊿ √ Abs D ÷ A ⊿ : Goto 9 : Lbl 2 : ( √ D + Abs B ) ÷ A → E : B ≥ 0 => - E → E : 0 → F : E = 0 => Goto 3 : C ÷ A E → F : Lbl 3 : "R1=" ⊿ E ⊿ "R2=" ⊿ F ⊿ Goto 9 :The quadratic equation is displayed at the start of the program. Press EXE and see A= in the display. Press EXE and see a question mark in the display. Enter the A coefficient. Press EXE and see B= in the display. Press EXE and see a question mark in the display. Enter the B coefficient. Press EXE and see C= in the display. Press EXE and see a question mark in the display. Enter the C coefficient. Press EXE and see the solution:
- If A is entered as zero the program will stop with R= in the display. Press EXE to see the single root. Press EXE to start a new problem.
- If the roots are complex the program will stop with RE= in the display. Press EXE to see the real part. Press EXE and see +-Im= in the display. Press EXE to see the imaginary part. Press EXE to start a new problem.
- If there are two real roots the program will stop with R1= in the display. Press EXE to see the first real root. Press EXE and see R2= in the display. Press EXE to see the second real root. Press EXE to start a new problem.
FRACTION FINDER:
This fraction finder uses a simple minded search which compares the decimal equivalent of a fraction with an input decimal number. If the decimal equuivalent of the fraction is greater than the decimal number to be converted then one is added to the denominator and a new comparison is made. Similarly, if the decimal equivalent of the fraction is less than the decimal number to be converted then one is added to the numerator and a new comparison is made. And so on. At each step the difference between the decimal equivalent and the decimal number to be converted is calculated and compared to the previous difference. If the new difference is smaller than the previous difference then the calculator stops and the numerator, the denominator and the difference are made available.
"DEC TO FRAC" ⊿ "DECIMAL NO?" ⊿ ? → D: 1 → A : 1 → M : 1 → N : Lbl 1 : M ÷ N → R : Abs ( D - R ) < A => Goto 2 : R > D => N + 1 → N : R < D => M + 1 → M : Goto 1 : Lbl 2 : "NUM" ⊿ M ⊿ "DEN" ⊿ N ⊿ "ERR" ⊿ D - M ÷ N ⊿ Abs ( D - R) → A : Goto 1:The program starts with DEC TO FRAC in the display. Press EXE and see DECIMAL NO? in the display. (Note that the question mark seen here is NOT the question mark which appears alone in the display to indicate the machine is ready to accept an input.) Press EXE and see the single question mark in the display. Enter the decimal number to be converted. Press EXE to start the solution. The machine will stop with NUM in the display. Press EXE and see the numerator of the first fraction solution. Press EXE and see DEN in the display. Press EXE and see the denominator. Press EXE and see ERR in the display. Press EXE and see the difference between the input decimal and the decimal equivalent of the calculated fraction. A user who runs the program with π as the input decimal value will see the following output:
NUM DEN ERR
3 1 0.141592654 13 4 -0.108407346 16 5 -0.058407346 19 6 -0.025074013 22 7 -0.001264489... the well-known π fraction after about eight seconds
179 57 -0.001241776 201 64 0.000967653 223 71 0.000747583 245 78 0.000567012 267 85 0.000416182 289 92 0.000288305 311 99 0.000178512 333 106 0.000083219 355 113 -0.000000266773... the well-known more accurate π fraction and after about forty-seven minutes
52163 16604 -0.000000266213 52518 16717 0.000000262600 and so on.
SIXTH ORDER LINEAR EQUATION SOLUTION:
This program is a translation of a TI-59 program by Henrik Ohlsson which appeared in the 81-2 issue of the Swedish newsletter Programbiten. Henrik's program expanded the linear equation solution capability of the TI-59 from order 8 to order 16. The translation for the 828 uses all 400 program steps and all 26 memories to yield an order 6 solution. The translation is essentially a one-to-one conversion from AOS to EOS. That probably doesn't yield efficient use of memory but it does yield a working program. Henrik's program was written for fast mode which meant that subroutines were not allowed. I modified Henrik's program to run in normal mode and perform the data entry routine as a subroutine in order to save enough space to fit the program in the 828. The translated program illustrates the use of alphanumeric prompting, of subroutines and of array type memories. In the listing below Program 0 is the main program. Program 1 is the data entry subroutine.
Program 0 (388 steps)
Mcl : "N=" ⊿ ? → B : B + 1 → H : 9 → D : Lbl 0 : 0 → I : H → C : 9 → G : Int E → F : F + 1 → E : F = 0 => Goto 3 : Lbl 1 : Prog 1 : - A → A : Lbl 2 : A x A[G] + A[D] → A[D] : D + 1 → D : G + 1 → G : Dsz C : Goto 2 : H → C : D - H → D : Dsz F : Goto 1 : Lbl 3 : Prog 1 : A + A[D] → F : C - 1 → C : Lbl 4 : Prog 1 : D + 1 → D : A + A[D] → A : 0 → A[D] : D - 1 → D : A ÷ F → A[D] : D + 1 → D : Dsz C : Goto 4 : Int E → F : Dsz F : Go to 9 : Goto 8 : Lbl 9 : 8 → D : B → C : Lbl 5 : D + 1 → D : I + 1 → I : A[D ] → A : 0 → A[D] : Lbl 6 : D + 1 → D : A[D] - A x A[G] → Z : 0 → A[D] : D - I → D : Z → A[D] : D + I → D : G + 1 → G : Dsz C : Goto 6 : G - B → G : B → C : Dsz F : Goto 5 : D - I + 1 → D : Lbl 7 : A[G] → A[D] : 0 → A[G] : D + 1 → D : G + 1 → G : Dsz C : Goto 7 : Lbl 8 : H - 1 → H : Dsz B : Goto 0 : J⊿Program 1 (10 step subroutine)
E + .01 → E ⊿ ? → ATo use the program select Program 0, press EXE and see the prompt N= in the display. Press EXE a second time and see a question mark in the display. Enter the order of the solution desired (n = 2 to 6) and press EXE. 1.01 will appear in the display indicating that the machine is ready to accept the A[1,1] element of the matrix Press EXE and see a question mark in the display. Enter the A[1,1] element and press EXE. 1.02 will appear in the display indicating that the machine is ready to accept the A[1,2] element of the matrix. Proceed as before to enter the A[1,2] element and see the prompt for the A[1.3] element, and so on. When the column element of the prompt is n+1 enter the corresponding element of the vector. When the last element of the vector has been entered the machine will stop with the first element of the solution, X[1], in the display. Press AC, press ALPHA J and press EXE to see the same value for X[1]. Then press ALPHA K followed by EXE to see X[2], ALPHA L followed by EXE to see X[3] and so on as needed up to ALPHA O to see the rest of the solution.
As an example consider the set of three equations (n = 3)
8x – 9y – 7z = –36
12x – y – 3z = 36
6x – 2y – z = 10The exact solution is x = 4, y = 6, and z = 2.
The example above does not really demonstrate the capability of the solver. If you run the problem with the matrix as a 6×6 sub-Hilbert (i.e., A[i, j] = 1/(i + j) and the vector all ones you will get the following answer:
Exact Durabrand Relative Error –42 –42.000383 9.12 × 10^{–6} 840 840.0067538 8.04 × 10^{–6} –5040 –5040.036247 7.19 × 10^{–6} 12600 12600.08188 6.50 × 10^{–6} –13860 –13860.08208 5.92 × 10^{–6} 5544 5544.030131 5.43 × 10^{–6} where the relative error is defined as the difference between the Durabrand and Exact values, divided by the Exact value. The mean relative error is 7.03 × 10^{–6}. Hendrik's program running on the TI-59 yields a mean relative error of 8.79 × 10^{–6}. The ML-02 program running on the TI-59 yields a mean relative error of 2.90 × 10^{–6}. This may suggest that the arithmetic of the Durabrand 828 is a little better than that of the TI-59—maybe because multiplication is commutative on the Durabrand 828. It may also suggest that the ML-02 program is more robust than Hendrik's program. The matrix routine in the Math Pak of the HP-41 yields a mean relative error of 3.8 × 10^{–4}. The matrix solution in the HP-28s yields a mean relative error of 9.99 × 10^{–6}.
A historical note: With Hendrik's program on the TI-59 the calculations after the entry of an element required a significant amount of time so that the user was always waiting on the machine. For example, in a fifth order solution when the third vector element is entered in response to the prompt 3.06 the machine will run for nine seconds in fast mode or fifteen seconds in normal mode before the next prompt (4.01) appears. The much higher calculating speed of the Durabrand 828 yields barely noticeable wait times.