(SR-52) Real Determinants
|
06-16-2020, 04:08 PM
Post: #1
|
|||
|
|||
(SR-52) Real Determinants
An excerpt from Programmable Calculator Evaluation of Real Determinants, Interface Age, May 1980 (pgs 104-107), M. Patt & L. Fisher {University of Lowell}
" … pocket calculator program … presented for use with the Texas Instruments Model SR-52 (Algebraic) … self-contained and complete, fits on a single magnetic card … enable an operator to quickly evaluate real determinants of sizes two-by-two through six-by-six … most accurate when all determinant elements are integers. Errors are generally less than 0.001 % for a six-by-six (worst case) determinant with all integer elements. SOLUTION BY GAUSSIAN ELIMINATION The program written for the SR-52 calculator evaluates the determinant by a modified Gaussian elimination process. Through the systematic addition of rows, this procedure develops a lower-triangular matrix whose determinant is equal to that of the original matrix. The determinant is then evaluated by taking the trace (product of elements on the diagonal) of the lower-triangular matrix … " BEST! SlideRule |
|||
05-02-2024, 09:15 AM
Post: #2
|
|||
|
|||
RE: (SR-52) Real Determinants
As author (Fisher) of the article mentioned, thanks.
I'm sure many programmers of calculators of that time can identify with, the challenge in programming was limited data register count (nominally 20) and limited program storage (223 steps). I ended up packing one data register with both an index table (most significant digits) and code (least significant digits). Ah, simple times, LOL. |
|||
05-05-2024, 09:43 AM
(This post was last modified: 05-05-2024 12:34 PM by Thomas Klemm.)
Post: #3
|
|||
|
|||
RE: (HP-67) Real Determinants
The article contains also a program for the HP-67.
It can be used with this online-emulator: HP-67 Click the emulator display for the menu page, → Program and just paste the following code: Code: PROG There's a typo in the listing at line 4: Code: STF 0 31 51 00 That should be: Code: SF 0 35 51 00 Example \( \begin{vmatrix} 2 & 11 & 23 & 41 \\ 3 & 13 & 29 & 43 \\ 5 & 17 & 31 & 47 \\ 7 & 19 & 37 & 53 \\ \end{vmatrix} = 880 \) f a 0.00 2 A 3 A 5 A 7 A -4.00 11 B 13 B 17 B 19 B 3.00 23 C 29 C 31 C 37 C 3.00 41 D 43 D 47 D 53 D 3.00 f c 880. PS: It's nice to have the author here in this forum. |
|||
05-05-2024, 12:35 PM
Post: #4
|
|||
|
|||
RE: (SR-52) Real Determinants
Interesting! Downloaded the article to see how you did this given the SR-52 memory “constraints”
You used the two extra registers R98 and R99. You also used a register of program memory R88 as a data register and then used 7 of the SR-52’s pending operation registers for data (R63 - R69) Bravo. Have any other SR-52 material lying about ? |
|||
05-05-2024, 12:42 PM
Post: #5
|
|||
|
|||
RE: (SR-52) Real Determinants
On closer inspection I noticed other typos.
Line 74: Code: GSB 7a 22 07 Code: 074: 22 07 : GTO 7 A GTO instruction would make the next line dead code. Thus I'd got with the key sequence: Code: 074: 31 22 07 : f GSB 7 This also fixed the Error I got when using subroutine e for the 2nd time. Line 135: Code: STO / 9 33 81 07 Code: 135: 33 81 07 : STO / 7 The description of register 7 is: Modified zero approximator Based on the following table I assume that the typo is in the key sequence. Replacement 1.0 × 10-4 1.1 × 10-5 1.2 × 10-6 1.4 × 10-7 1.5 × 10-8 This is the sequence we get if 10-4 gets divided by 9. Therefore I keep the line as is. Meanwhile I've updated the program accordingly in my previous post. |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 2 Guest(s)