dtftri (l) - Linux Man Pages
dtftri: computes the inverse of a triangular matrix A stored in RFP format
NAMEDTFTRI - computes the inverse of a triangular matrix A stored in RFP format
- SUBROUTINE DTFTRI(
- TRANSR, UPLO, DIAG, N, A, INFO )
- CHARACTER TRANSR, UPLO, DIAG
- INTEGER INFO, N
- DOUBLE PRECISION A( 0: * )
PURPOSEDTFTRI computes the inverse of a triangular matrix A stored in RFP format. This is a Level 3 BLAS version of the algorithm.
- TRANSR (input) CHARACTER
= aqNaq: The Normal TRANSR of RFP A is stored;
= aqTaq: The Transpose TRANSR of RFP A is stored.
- UPLO (input) CHARACTER
= aqUaq: A is upper triangular;
= aqLaq: A is lower triangular.
- DIAG (input) CHARACTER
= aqNaq: A is non-unit triangular;
= aqUaq: A is unit triangular.
- N (input) INTEGER
- The order of the matrix A. N >= 0.
- A (input/output) DOUBLE PRECISION array, dimension (0:nt-1);
nt=N*(N+1)/2. On entry, the triangular factor of a Hermitian
Positive Definite matrix A in RFP format. RFP format is
described by TRANSR, UPLO, and N as follows: If TRANSR = aqNaq
then RFP A is (0:N,0:k-1) when N is even; k=N/2. RFP A is
(0:N-1,0:k) when N is odd; k=N/2. IF TRANSR = aqTaq then RFP is the transpose of RFP A as defined when TRANSR = aqNaq. The contents of RFP A are defined by UPLO as follows: If UPLO = aqUaq the RFP A contains the nt elements of upper packed A; If UPLO = aqLaq the RFP A contains the nt elements of lower packed A. The LDA of RFP A is (N+1)/2 when TRANSR = aqTaq. When TRANSR is aqNaq the LDA is N+1 when N is even and N is odd. See the Note below for more details. On exit, the (triangular) inverse of the original matrix, in the same storage format.
- INFO (output) INTEGER
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal value
> 0: if INFO = i, A(i,i) is exactly zero. The triangular matrix is singular and its inverse can not be computed.
FURTHER DETAILSWe first consider Rectangular Full Packed (RFP) Format when N is even. We give an example where N = 6.
Let TRANSR = aqNaq. RFP holds AP as follows:
For UPLO = aqUaq the upper trapezoid A(0:5,0:2) consists of the last three columns of AP upper. The lower triangle A(4:6,0:2) consists of the transpose of the first three columns of AP upper.
For UPLO = aqLaq the lower trapezoid A(1:6,0:2) consists of the first three columns of AP lower. The upper triangle A(0:2,0:2) consists of the transpose of the last three columns of AP lower.
This covers the case N even and TRANSR = aqNaq.
03 04 05
13 14 15
23 24 25
33 34 35
00 44 45
01 11 55
02 12 22
Now let TRANSR = aqTaq. RFP A in both UPLO cases is just the transpose of RFP A above. One therefore gets:
03 13 23 33 00 01 02
04 14 24 34 44 11 12
05 15 25 35 45 55 22
We first consider Rectangular Full Packed (RFP) Format when N is odd. We give an example where N = 5.
AP is Upper