Data Type

Integer

Default Value

26

Description

This parameter determines when FMS prints a warning message about pivots close to zero during the factoring process.

During matrix factoring the diagonal terms (pivots) must be inverted. If their value is zero or close to zero, their inverse may be an unreasonable large number (or infinity). This parameter controls when FMS warns about this condition with a printed warning message.

The actual calculation performed by FMS to factor the diagonals is given by

   D = A - S
   P = 1/D
where

If the value of S is close to A, the calculation of P will be in error. To see how this error occurs it is useful to examine this calculation from a machine's point of view. The values of D and S are stored as floating point numbers. For most machines today, that means 64 bits in IEEE format. Within these 64 bits, 11 are used to represent the exponent and 53 for the mantissa. In general, this provides about 15 decimal digits of accuracy.

Pivots

When two numbers are close in value, their exponents and leading mantissa bits will be identical. If these numbers are subtracted, the result will have the same exponent but the leading mantissa bits which were identical will be set to zero. The machine then normalize the result by shifting the remaining nonzero mantissa bits to the left, inserting zero's in their place and appropriately adjusting the exponent. As you can expect, the number of zero's inserted into the mantissa during this process provides a measure of how much precision is lost.

FMS monitors this process and provides a way for you to be notified if the lost precision exceeds an unacceptable level. The default value of NBITSP=26 will provide a warning for each diagonal pivot that has lost 26 bits of precision (had 26 zero's inserted during the subtraction operation). If you get too many warning messages you could try setting the value of NBITSP to a larger number. If you want to monitor the process more closely, decrease the value of NBITSP.

CAUTION: If you decrease NBITSP to a value close to zero, you may get a warning message for each diagonal.