Long-float variant giving more precision to numerical computations.
Subject: Long-float variant giving more precision to numerical computations.
From: Douglas Crosher
Date: Thu, 07 Feb 2008 00:38:41 +1100
A variant of Maxima 5.14.0cvs is available that replaces the use of the Common Lisp
'double-float type with the 'long-float type for Maxima floating point numbers.
This change gives more precision and range to some numerical calculations which
do not currently support the Maxima bfloat type, such as the Fortran based code.
The changes have been tested on the Scieneer CL and CLISP. The Scieneer CL x86
and AMD64 ports support extended precision 80-bit floating point numbers for the
'long-float type, and CLISP supports a much more precise 'long-float type. The
change should be neutral on CL implementations for with the 'long-float type is
equivalent for the 'double-float type. I understand that CMUCL now has a
double-double-float type and with some more work it may be possible to support this
too.
I needed more accuracy from numerical calculations and this was the quickest path
and it extends the number of computations that Maxima can perform to high precision.
However there are still a good number numerical approximations in Maxima that
have not been improved and still give only 'double-float level accuracy.
It is not clear to me that this is a change that should be integrated into the
main source now, but the modified source code can be downloaded from:
http://www.scieneer.com/s/product.html?code=58636
Regards
Douglas Crosher