SSPFA(3F) SSPFA(3F)
SSPFA - SSPFA factors a real symmetric matrix stored in packed form by
elimination with symmetric pivoting.
To solve A*X = B , follow SSPFA by SSPSL. To compute INVERSE(A)*C ,
follow SSPFA by SSPSL. To compute DETERMINANT(A) , follow SSPFA by
SSPDI. To compute INERTIA(A) , follow SSPFA by SSPDI. To compute
INVERSE(A) , follow SSPFA by SSPDI.
SUBROUTINE SSPFA(AP,N,KPVT,INFO)
On Entry
AP REAL (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 SSPSL or SSPDI 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
SAXPY,SSWAP,ISAMAX Fortran ABS,AMAX1,SQRT
PPPPaaaaggggeeee 1111 [ Back ]
|