SUBROUTINE SINV ( A, N, EPS, IER )

Argument Definitions (+ indicates altered content)
DOUBLE PRECISION  +A(1),       EPS
INTEGER            IER,        N
Description
.................................................................. 
 
   subroutine sinv 
 
   purpose 
      invert a given symmetric positive definite matrix 
 
   usage 
      call sinv(a,n,eps,ier) 
 
   description of parameters 
      a      - upper triangular part of the given symmetric 
               positive definite n by n coefficient matrix. 
               on return a contains the resultant upper 
               triangular matrix. 
      n      - the number of rows (columns) in given matrix. 
      eps    - an input constant which is used as relative 
               tolerance for test on loss of significance. 
      ier    - resulting error parameter coded as follows 
               ier=0  - no error 
               ier=-1 - no result because of wrong input parame- 
                        ter n or because some radicand is non- 
                        positive (matrix a is not positive 
                        definite, possibly due to loss of signi- 
                        ficance) 
               ier=k  - warning which indicates loss of signifi- 
                        cance. the radicand formed at factoriza- 
                        tion step k+1 was still positive but no 
                        longer greater than abs(eps*a(k+1,k+1)). 
 
   remarks 
      the upper triangular part of given matrix is assumed to be 
      stored columnwise in n*(n+1)/2 successive storage locations. 
      in the same storage locations the resulting upper triangu- 
      lar matrix is stored columnwise too. 
      the procedure gives results if n is greater than 0 and all 
      calculated radicands are positive. 
 
   subroutines and function subprograms required 
      mfsd 
 
   method 
      solution is done using the factorization by subroutine mfsd. 
 
..................................................................
Source file:sinv.f
External Functions and Subroutines Called
SUBROUTINE         MFSD
Local Variables (+ indicates altered content)
DOUBLE PRECISION  +DIN,       +WORK
INTEGER           +I,         +IND,       +IPIV,      +J
INTEGER           +K,         +KEND,      +L,         +LANF
INTEGER           +LHOR,      +LVER,      +MIN