LCAS, LAPACK and LINPACK
Richard B. Lehoucq
uunet!rice.edu!lehoucq
Thu Feb 13 10:57:30 PST 1992
Jim,
One question. How does one determine a "safe minimum" for a particular
machine. I am aware that VAX D has the same smallest representable(normalized)
number in VAX D-format and VAX F-format. I'm under the impression that the
same smallest representable (normalized) number is (base)**(base**(number of
bits allowed in the exponent) - bias). Call this the "Platonic minimum".
Clearly your "safe minimum" is
a number no smaller than this. Would this SAFMIN be the smallest (normalized)
number that can be safely recipricated?
Are you all writing up your experiences with "development of portable software"
in any type of report? I'd love to look through this.
When I was testing various eigensystem codes at IMSL we encountered the
same problems with VAX D format. In the case of the symmetric code
we had a test that checked to see whether to
skip a householder step (during the reduction to tri. form)if the
norm of the part of the vector that we wanted
to zero out was less than the "platonic minimum"/eps.(even after scaling the
original matrix!) Otherwise we ran the risk of losing orthogonalty of our
basis of computed eigenvectors. We took our cue from Wilkinson's remarks
in HACLA regarding the symmetric eigenvalue problem. This quick
test worked quite well in practice. Richard Hanson and I came to the conclusion
that there was only so much you can do about writing robust code for all
machines given the querks of a few "designed" F.P. units.
As you pointed out this is because of
the poor design(I agree with you) of VAX D-format. Remember Stan Brown's
F.P.A. model for well designed f.p.units? VAX D-format barely made it
with their "platonic minimum"/eps <(just barely) eps**2.
I learned alot of practical numerical analysis
when I worked at IMSL and one of the goals was to design and develop portable
scientific software. It's actually quite a fascinating "ordeal" to go thru.
rich lehoucq
More information about the Numeric-interest
mailing list