SUBROUTINE SHMINV ( R, C, OLDINV, BINV, N )

Argument Definitions (+ indicates altered content)
DOUBLE PRECISION  +BINV(*),    C,          OLDINV(*),  R(*)
INTEGER            N
Description
Compute the INVERSE of B = [ INVERSE(R) + cI ] with the SHERMAN-MORRIS 
formula modified to take into account the sparseness of the matrix R. 
INPUT  : R      - square matrix stored columnwise as a vector of lengt 
         c      - scalar. 
         I      - identity matrix of order n, which need not to be sto 
         OLDINV - working square matrix stored columnwise as a vector 
                  length n*n, containing the inverse of B associated w 
                  successive change of the k-th diagonal element (k=1, 
         n      - order of matrices R, OLDINV and BINV. 
OUTPUT : BINV   - square matrix stored columnwise as a vector of lengt 
                  containing the inverse of B following a change of th 
                  diagonal element (k=n).
Source file:shminv.f
Intrinsic Functions Called
DOUBLE PRECISION   DABS
External Functions and Subroutines Called
SUBROUTINE         MCPY
Local Variables (+ indicates altered content)
DOUBLE PRECISION  +FACTOR,    +FOLD
INTEGER           +I,         +IJ,        +IK,        +J
INTEGER           +K,         +KJ,        +KK