Following a recent long
discussion,
about matrix calculation accuracy on various calculators, I was quite surprised by the HP-71B Math ROM matrix performance, and investigated a little bit.
First, using the Kahan exemple, I noticed that determinant calculation (DET function) gives a not so accurate answer:
Kahan matrix: DET=-.999999999998
transposed matrix: DET=-.999999999989
First, why is the determinant of the transposed matrix different?
Second, why is the result non-integer, as all elements are integer and no overflow occurs?
Then I built a simpler exemple, in order to check that the DET function uses internal 15-digit accuracy (this was stated many times, but no clear evidence was given).
I used this matrix:
1+1E-7 1+2E-7
1+3E-7 1+4E-7
If DET uses 15-digits accuracy, result should be -2E-7, otherwise loss of accuracy will occur and result is expected to be 0.
HP-71B Math ROM gives 1.0000003E-14 so it seems that 15-digit accuracy is used
but not only is the value half than expected, but the sign is wrong.
Transposing the matrix gives DET= 2.0000004E-14. Sign is still wrong.
Can we call this a bug? I don't know, but I checked that all next models starting from the HP-28S give correct DET value, so algorihms were changed at some point.
J-F