dtrdi
dtrdi - (obsolete) compute the determinant and inverse of a triangular matrix A.
SUBROUTINE DTRDI( A, LDA, N, DET, JOB, INFO)
INTEGER LDA, N, JOB, INFO
DOUBLE PRECISION A(LDA,*), DET(*)
SUBROUTINE DTRDI_64( A, LDA, N, DET, JOB, INFO)
INTEGER*8 LDA, N, JOB, INFO
DOUBLE PRECISION A(LDA,*), DET(*)
#include <sunperf.h>
void dtrdi(double *a, int lda, int n, double *det, int job, int *info);
void dtrdi_64(double *a, long lda, long n, double *det, long job, long *info);
-
* A (input/output)
-
On entry, the matrix A.
On exit, the inverse of the original matrix A if the inverse was
requested, otherwise unchanged.
-
* LDA (input)
-
Leading dimension of the array A as specified in a dimension
or type statement. LDA >= max(1,N).
-
* N (input)
-
Order of the original matrix A. N >= 0.
-
* DET (output)
-
On exit, the determinant of the matrix A. The determinant is
stored as b * (10 ** expon) where b is stored in DET(1) and expon is
stored in DET(2). 1.0 <= |DET(1)| <= 10.0 or DET(1) = 0.0.
-
* JOB (input)
-
Determines which operation the subroutine will perform:
- 010 no determinant, inverse of lower triangular A
- 011 no determinant, inverse of upper triangular A
- 100 determinant, no inverse
- 110 determinant, inverse of lower triangular A
- 111 determinant, inverse of upper triangular A
-
* INFO (output)
-
On exit:
INFO = 0 Subroutine completed normally.
INFO > 0 Contains the index of a zero element of A if the inverse is requested and A is singular.