Thomas Okken wrote: ↑Wed Feb 27, 2019 10:25 pm
Werner, do you know exactly which functions in the HP-42S use special-case logic for 2x2 matrices?
I know DET does - it simply evaluates ab-cd in 15-digit precision. The others, I'll perform some tests.
Thomas Okken wrote: ↑Wed Feb 27, 2019 10:25 pm
And what about higher-precision dot products? Obviously DOT, but matrix-matrix multiplication is essentially just a lot of dot products as well.
Well, everywhere a dot product is used..
FNRM, UVEC (which calls FNRM)
everything using LU-decomp (/, INVRT, DET)
and of course the rest of the algorithms:
- the determinant is probably kept in a 15-digit register for accumulation.
- Lx = B and Ux = B in /
- I have no idea what algorithm the 42S uses for INVRT, probably A=LU and then AINV = UINV*LINV as that can be done entirely in-place. For Free42, it is probably easier to do UXL, which calculates the inverse from the LU decomp in a single loop at the expense of 1 work vector, and makes maximum use of dot products. (yes I know pivoting is involved but that doesn't change the base algorithm)
RNRM and RSUM will use extended precision for adding up the values in one row, of course.
And I know nothing of CROSS, I'm afraid to admit.
Thomas Okken wrote: ↑Wed Feb 27, 2019 10:25 pm
Just trying to get an idea of the scope of work that would be involved... I need something to keep me busy, now that I've worked off all of the original to-do list, maar het moet wel een beetje leuk blijven.
Nou voor mij is dit leuk
To me, this is fun
Actually, I attach far more significance to the accuracy obtained (using intermediate extended precision, I.a.) than having 34 digits. But then I majored in Numerical Analysis, ages (too long) ago.
Cheers, Werner