DSPDI(3F)
DSPDI - 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.
As shipped in IRIX 6.5.30. Unchanged since IRIX 6.5.
NAME DSPDI - 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 Nat. Lab. Subroutines and Functions BLAS DAXPY,DCOPY,DDOT,DSWAP Fortran DABS,IABS,MOD