Note: before using this routine, please read the Users' Note for your implementation to check the interpretation of bold italicised terms and other implementation-dependent details.
F06SLF (ZTPSV) performs one of the matrix-vector operations
x←A-1x, x←A-Tx or x←A-Hx,
where A is an n by n complex triangular matrix, stored in packed form, and x is an n-element complex vector. A-T denotes AT-1 or equivalently A-1T; A-H denotes AH-1 or equivalently A-1H.
No test for singularity or near-singularity of A is included in this routine. Such tests must be performed before calling this routine.
4 References
None.
5 Parameters
1: UPLO – CHARACTER(1)Input
On entry: specifies whether A is upper or lower triangular.
UPLO='U'
A is upper triangular.
UPLO='L'
A is lower triangular.
Constraint:
UPLO='U' or 'L'.
2: TRANS – CHARACTER(1)Input
On entry: specifies the operation to be performed.
TRANS='N'
x←A-1x.
TRANS='T'
x←A-Tx.
TRANS='C'
x←A-Hx.
Constraint:
TRANS='N', 'T' or 'C'.
3: DIAG – CHARACTER(1)Input
On entry: specifies whether A has nonunit or unit diagonal elements.
DIAG='N'
The diagonal elements are stored explicitly.
DIAG='U'
The diagonal elements are assumed to be 1, and are not referenced.
Constraint:
DIAG='N' or 'U'.
4: N – INTEGERInput
On entry: n, the order of the matrix A.
Constraint:
N≥0.
5: AP(*) – COMPLEX (KIND=nag_wp) arrayInput
Note: the dimension of the array AP
must be at least
N×N+1/2.
On entry: the n by n triangular matrix A, packed by columns.
More precisely,
if UPLO='U', the upper triangle of A must be stored with element Aij in APi+jj-1/2 for i≤j;
if UPLO='L', the lower triangle of A must be stored with element Aij in APi+2n-jj-1/2 for i≥j.
If DIAG='U', the diagonal elements of A are assumed to be 1, and are not referenced; the same storage scheme is used whether DIAG='N' or ‘U’.
6: X(*) – COMPLEX (KIND=nag_wp) arrayInput/Output
Note: the dimension of the array X
must be at least
max1,1+N-1×INCX.
On entry: the vector x.
If INCX>0,
xi must be stored in X1+i–1×INCX, for i=1,2,…,N.
If INCX<0,
xi must be stored in X1–N–i×INCX, for i=1,2,…,N.
On exit: the updated vector x stored in the array elements used to supply the original vector x.
7: INCX – INTEGERInput
On entry: the increment in the subscripts of X between successive elements of x.