*DECK SPPDI SUBROUTINE SPPDI (AP, N, DET, JOB) C***BEGIN PROLOGUE SPPDI C***PURPOSE Compute the determinant and inverse of a real symmetric C positive definite matrix using factors from SPPCO or SPPFA. C***LIBRARY SLATEC (LINPACK) C***CATEGORY D2B1B, D3B1B C***TYPE SINGLE PRECISION (SPPDI-S, DPPDI-D, CPPDI-C) C***KEYWORDS DETERMINANT, INVERSE, LINEAR ALGEBRA, LINPACK, MATRIX, C PACKED, POSITIVE DEFINITE C***AUTHOR Moler, C. B., (U. of New Mexico) C***DESCRIPTION C C SPPDI computes the determinant and inverse C of a real symmetric positive definite matrix C using the factors computed by SPPCO or SPPFA . C C On Entry C C AP REAL (N*(N+1)/2) C the output from SPPCO or SPPFA. C C N INTEGER C the order of the matrix A . C C JOB INTEGER C = 11 both determinant and inverse. C = 01 inverse only. C = 10 determinant only. C C On Return C C AP the upper triangular half of the inverse . C The strict lower triangle is unaltered. C C DET REAL(2) C determinant of original matrix if requested. C Otherwise not referenced. C Determinant = DET(1) * 10.0**DET(2) C with 1.0 .LE. DET(1) .LT. 10.0 C or DET(1) .EQ. 0.0 . C C Error Condition C C A division by zero will occur if the input factor contains C a zero on the diagonal and the inverse is requested. C It will not occur if the subroutines are called correctly C and if SPOCO or SPOFA has set INFO .EQ. 0 . C C***REFERENCES J. J. Dongarra, J. R. Bunch, C. B. Moler, and G. W. C Stewart, LINPACK Users' Guide, SIAM, 1979. C***ROUTINES CALLED SAXPY, SSCAL C***REVISION HISTORY (YYMMDD) C 780814 DATE WRITTEN C 890831 Modified array declarations. (WRB) C 890831 REVISION DATE from Version 3.2 C 891214 Prologue converted to Version 4.0 format. (BAB) C 900326 Removed duplicate information from DESCRIPTION section. C (WRB) C 920501 Reformatted the REFERENCES section. (WRB) C***END PROLOGUE SPPDI