DSPDI(3F)DSPDI(3F)NAMEDSPDI - DSPDI computes the determinant, inertia and inverse of a double
precision symmetric matrix using the factors from DSPFA, where the matrix
is stored in packed form.
SYNOPSYS
SUBROUTINE DSPDI(AP,N,KPVT,DET,INERT,WORK,JOB)
DESCRIPTION
On Entry
AP DOUBLE PRECISION (N*(N+1)/2)
the output from DSPFA.
N INTEGER
the order of the matrix A.
KPVT INTEGER(N)
the pivot vector from DSPFA.
WORK DOUBLE PRECISION(N)
work vector. Contents ignored.
JOB INTEGER
JOB has the decimal expansion ABC where
if C .NE. 0, the inverse is computed,
if B .NE. 0, the determinant is computed,
if A .NE. 0, the inertia is computed.
For example, JOB = 111 gives all three. On Return Variables not
requested by JOB are not used.
AP contains the upper triangle of the inverse of
the original matrix, stored in packed form.
The columns of the upper triangle are stored
sequentially in a one-dimensional array.
DET DOUBLE PRECISION(2)
determinant of original matrix.
DETERMINANT = DET(1) * 10.0**DET(2)
with 1.0 .LE. DABS(DET(1)) .LT. 10.0
or DET(1) = 0.0.
INERT INTEGER(3)
the inertia of the original matrix.
INERT(1) = number of positive eigenvalues.
INERT(2) = number of negative eigenvalues.
INERT(3) = number of zero eigenvalues. Error Condition
A division by zero will occur if the inverse is requested and DSPCO has
set RCOND .EQ. 0.0 or DSPFA has set INFO .NE. 0 . LINPACK. This
version dated 08/14/78 . James Bunch, Univ. Calif. San Diego, Argonne
Page 1
DSPDI(3F)DSPDI(3F)
Nat. Lab. Subroutines and Functions BLAS DAXPY,DCOPY,DDOT,DSWAP Fortran
DABS,IABS,MOD
Page 2