ctftri (l) - Linux Man Pages
ctftri: computes the inverse of a triangular matrix A stored in RFP format
NAMECTFTRI - computes the inverse of a triangular matrix A stored in RFP format
- SUBROUTINE CTFTRI(
- TRANSR, UPLO, DIAG, N, A, INFO )
- CHARACTER TRANSR, UPLO, DIAG
- INTEGER INFO, N
- COMPLEX A( 0: * )
PURPOSECTFTRI 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;
= aqCaq: The Conjugate-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) COMPLEX array, dimension ( N*(N+1)/2 );
On entry, the triangular 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 = aqCaq then RFP is the Conjugate-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 = aqCaq. 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 Standard Packed 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 conjugate-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 conjugate-transpose of the last three columns of AP lower. To denote conjugate we place -- above the element. This covers the case N even and TRANSR = aqNaq.
03 04 05
13 14 15
23 24 25
33 34 35
00 44 45