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.7. Unchanged since 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