PDA

View Full Version : increasing precision matters


physicist
05-15-2008, 01:49 PM
Dear Moderator et al.,

For a number of special functions, especially when they are packaged
into larger programs with differentiation and/or integration routines, extended precision can simplify life for application programmers a lot .

Since version 4.2, gnu cc has implemented arbitrary precision modules
developed at INRIA and elsewhere. For FORTRAN it exists as a stand-alone
package by Miller for some time. This brings me to the question:

Does VNI/IMSL (in its FORTRAN implementation) plan to pursue
the following two developments?

Using ERF as a typical example, implement -for all relevant procedures-:

(a) ERF, DERF, QERF, OERF, HERF, ...
where Q=quadruple, O=octuple (8), H=hexadecuple (16) precision?
...

or

(b) Possibly in cooperation with FORTRAN-2008 committee, extend
the definition of KIND, with one additional (optional) parameter:
NB = the number of bits used for REAL, e.g. 64 ('standard')
128, 256, 512, 1024 ('extended'). The two other KIND parameters
are, as they are now, for the size of the mantisse and of exponent, respectively.
...

The reason for this proposal is: (i) arbitrary precision c-language constructs
may, at some time, pre-empt the market and (b) since computer
memory and processor speed has become much cheaper, FORTRAN precision construct, developed in 1956-1970 period, is 'out-of-date'.
However, ARBITRARY precision is for many numerical procedures
overdone and missing the essence of the problem. (*)

Therefore, a step-wise improvement of precision, increasing of the storage length of REALS by factors of two, would suffice.

With kind regards,

physicist

[A non-traditionalist would perhaps even propose real types based on
floating point numbers for x (normal), lx (log), llx (log-log), ex (exp),
eex (exp exp) respectively. However, this can have influence on the
type of algorithms that have been implemented. (As Dongarra has
written about LAPACK / SMP/ parallel in the book 'Beautiful Code'.)]

ed
05-16-2008, 12:02 PM
One of the challenges we face with a library like IMSL is supporting many different environments. For the Fortran library, that means something like a half dozen different compilers (not counting differences in version numbers) for the latest release. Stepping back another release adds another half dozen unique compilers and a multitude of additional versions.

In short if all compilers had support for quad precision, VNI would be happy to add it to the product, especially for functions where there's a need. However, there is still no uniform support for a standard for higher precision types.

For anyone interested in this topic, please also see Bailey's extensive work here (http://crd.lbl.gov/~dhbailey/mpdist/) on quad precision and arbitrary precision.

physicist
05-18-2008, 08:16 AM
Dear Moderator,

First of all, thank you for pointing to the interesting Bailey-Hida-Li web-pages!
Their 2001 paper contains a practical realisation of item (1) above.

(*) above indicates the disclaimer: "except for a (rather broad) class of number-theoretical problems" [which is, perhaps fortunately,
not the strength of IMSL].

In view of your answer: what do you think about the second suggestion ...
with concentration on some of the 'leading' FORTRAN vendors, at first?

With best regards,

physicist