DSPFA(3F)

DSPFA - DSPFA factors a double precision symmetric matrix stored in packed form by elimination with symmetric pivoting.

As shipped in IRIX 6.5. First release of IRIX 6.5.

NAME
     DSPFA   - DSPFA factors a double precision symmetric matrix stored in
     packed form by elimination with symmetric pivoting.

     To solve  A*X = B , follow DSPFA by DSPSL.  To compute  INVERSE(A)*C ,
     follow DSPFA by DSPSL.  To compute  DETERMINANT(A) , follow DSPFA by
     DSPDI.  To compute  INERTIA(A) , follow DSPFA by DSPDI.  To compute
     INVERSE(A) , follow DSPFA by DSPDI.


SYNOPSYS
      SUBROUTINE DSPFA(AP,N,KPVT,INFO)

DESCRIPTION
     On Entry

     AP DOUBLE PRECISION (N*(N+1)/2)
        the packed form of a symmetric matrix  A .  The
        columns of the upper triangle are stored sequentially
        in a one-dimensional array of length  N*(N+1)/2 .
        See comments below for details.

     N INTEGER
        the order of the matrix  A .  Output

     AP a block diagonal matrix and the multipliers which
        were used to obtain it stored in packed form.
        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 DSPSL or DSPDI may
        divide by zero if called.  Packed Storage The following program
     segment will pack the upper triangle of a symmetric matrix.
        K = 0
        DO 20 J = 1, N
        DO 10 I = 1, J
        K = K + 1
        AP(K)  = A(I,J)
        10    CONTINUE
        20 CONTINUE 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