CALL RSUPIV (*, IEQN, A, S, D)
CALL CSUPIV (*, IEQN, A, S, D)
| Parameter | Description |
|---|---|
| MZERO | Zero pivot flag |
| NBITSZ | Number of lost bits on diagonal to call zero |
| PIVMIN | Absolute value of minimum pivot |
When FMS determines that a zero pivot has occurred, based on the tolerance values of NBITSZ and PIVMIN, and MZERO is 2, this subroutine is called. FMS passes the equation number, original diagonal and sum to be subtracted. You are required to return the diagonal pivot reciprocal.
If you want to abandon the factoring process but continue execution, you may use the alternate return. Executing the FORTRAN statement
RETURN 1
in your subroutine will return processing to your program where you called the FMS factoring subroutine. Naturally the factoring calculation will be incomplete, requiring you to take alternate action.
The Pivot Precision Monitoring section describes how FMS determines if the pivot is zero and what FMS normally does with zero pivots. You should make every effort to use standard FMS features before developing this subroutine.