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