*DECK DTRDI SUBROUTINE DTRDI (T, LDT, N, DET, JOB, INFO) C***BEGIN PROLOGUE DTRDI C***PURPOSE Compute the determinant and inverse of a triangular matrix. C***LIBRARY SLATEC (LINPACK) C***CATEGORY D2A3, D3A3 C***TYPE DOUBLE PRECISION (STRDI-S, DTRDI-D, CTRDI-C) C***KEYWORDS DETERMINANT, INVERSE, LINEAR ALGEBRA, LINPACK, C TRIANGULAR MATRIX C***AUTHOR Moler, C. B., (U. of New Mexico) C***DESCRIPTION C C DTRDI computes the determinant and inverse of a double precision C triangular matrix. C C On Entry C C T DOUBLE PRECISION(LDT,N) C T contains the triangular matrix. The zero C elements of the matrix are not referenced, and C the corresponding elements of the array can be C used to store other information. C C LDT INTEGER C LDT is the leading dimension of the array T. C C N INTEGER C N is the order of the system. C C JOB INTEGER C = 010 no det, inverse of lower triangular. C = 011 no det, inverse of upper triangular. C = 100 det, no inverse. C = 110 det, inverse of lower triangular. C = 111 det, inverse of upper triangular. C C On Return C C T inverse of original matrix if requested. C Otherwise unchanged. C C DET DOUBLE PRECISION(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. ABS(DET(1)) .LT. 10.0 C or DET(1) .EQ. 0.0 . C C INFO INTEGER C INFO contains zero if the system is nonsingular C and the inverse is requested. C Otherwise INFO contains the index of C a zero diagonal element of T. C 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 DAXPY, DSCAL C***REVISION HISTORY (YYMMDD) C 780814 DATE WRITTEN C 890531 Changed all specific intrinsics to generic. (WRB) 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 DTRDI