next up previous index
Next: How to Use Minuit Up: Minuit Installation. Previous: Interference with Other Packages   Index

Floating-point Precision

It is recommended for most applications to use 64-bit floating point precision, or the nearest equivalent on any particular machine. This means that the standard Minuit installed on Vax, IBM and Unix workstations will normally be the DOUBLE PRECISION version, while on CDC and Cray it will be SINGLE PRECISION. The arguments of the user's FCN must of course correspond in type to the declarations compiled into the Minuit version being used. The same is true of course for all floating-point arguments to any Minuit routines called directly by the user in Fortran-callable mode. Furthermore, Minuit detects at execution time the precision with which it was compiled, and expects that the calculations inside FCN will be performed approximately to the same accuracy. (This accuracy is called EPSMAC and is printed in the header produced by Minuit when it begins execution.) If the user fools Minuit by using a double precision version but making internal FCN or FUTIL computations in single precision, Minuit will interpret roundoff noise as significant and will usually either fail to find a minimum, or give incorrect values for the parameter errors. It is therefore recommended, when using double precision (REAL*8) Minuit, to make sure all computations in FCN and FUTIL (if used), as well as all subroutines called by FCN and FUTIL, are REAL*8, by including the appropriate IMPLICIT declarations in FCN and all user subroutines called by FCN. If for some reason the computations cannot be done to a precision comparable with that expected by Minuit, the user must inform Minuit of this situation with the SET EPS command. Although 64-bit precision is recommended in general, the new Minuit is so careful to use all available precision that in many cases, 32 bits will in fact be enough. It is therefore possible now to envisage in some situations (for example on microcomputers or when memory is severely limited, or if 64-bit arithmetic is very slow) the use of Minuit with 32- or 36-bit precision. With reduced precision, the user may find that certain features sensitive to first and second differences (HESse, MINOs, MNContour) do not work properly, in which case the calculations must be performed in higher precision.


next up previous index
Next: How to Use Minuit Up: Minuit Installation. Previous: Interference with Other Packages   Index
Back to CERN | IT | ASD | CERN Program Library Home
MG (last mod. 1998-08-19)