DSIFA(3F)

DSIFA - DSIFA factors a double precision symmetric matrix by elimination with symmetric pivoting.

As shipped in IRIX 6.5.19. Unchanged since IRIX 6.5.

NAME
     DSIFA   - DSIFA factors a double precision symmetric matrix by
     elimination with symmetric pivoting.

     To solve  A*X = B , follow DSIFA by DSISL.  To compute  INVERSE(A)*C ,
     follow DSIFA by DSISL.  To compute  DETERMINANT(A) , follow DSIFA by
     DSIDI.  To compute  INERTIA(A) , follow DSIFA by DSIDI.  To compute
     INVERSE(A) , follow DSIFA by DSIDI.


SYNOPSYS
      SUBROUTINE DSIFA(A,LDA,N,KPVT,INFO)

DESCRIPTION
     On Entry

     A DOUBLE PRECISION(LDA,N)
        the symmetric matrix to be factored.
        Only the diagonal and upper triangle are used.

     LDA INTEGER
        the leading dimension of the array  A .

     N INTEGER
        the order of the matrix  A .  On Return

     A a block diagonal matrix and the multipliers which
        were used to obtain it.
        The factorization can be written  A = U*D*TRANS(U)
        where  U  is a product of permutation and unit
        upper triangular matrices, TRANS(U) is the
        transpose of  U , and  D  is block diagonal
        with 1 by 1 and 2 by 2 blocks.

     KPVT INTEGER(N)
        an integer vector of pivot indices.

     INFO INTEGER
        = 0  normal value.
        = K  if the K-th pivot block is singular.  This is
        not an error condition for this subroutine,
        but it does indicate that DSISL or DSIDI may
        divide by zero if called.  LINPACK.  This version dated 08/14/78 .
     James Bunch, Univ. Calif. San Diego, Argonne Nat. Lab.  Subroutines and
     Functions BLAS DAXPY,DSWAP,IDAMAX Fortran DABS,DMAX1,DSQRT