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
where is an by complex triangular matrix, stored in packed form, and is an -element complex vector. denotes or equivalently ; denotes or equivalently .
No test for singularity or near-singularity of 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 is upper or lower triangular.
is upper triangular.
is lower triangular.
Constraint:
or .
2: TRANS – CHARACTER(1)Input
On entry: specifies the operation to be performed.
.
.
.
Constraint:
, or .
3: DIAG – CHARACTER(1)Input
On entry: specifies whether has nonunit or unit diagonal elements.
The diagonal elements are stored explicitly.
The diagonal elements are assumed to be , and are not referenced.
Constraint:
or .
4: N – INTEGERInput
On entry: , the order of the matrix .
Constraint:
.
5: AP() – COMPLEX (KIND=nag_wp) arrayInput
Note: the dimension of the array AP
must be at least
.
On entry: the by triangular matrix , packed by columns.
More precisely,
if , the upper triangle of must be stored with element in for ;
if , the lower triangle of must be stored with element in for .
If , the diagonal elements of are assumed to be , and are not referenced; the same storage scheme is used whether or ‘U’.
6: X() – COMPLEX (KIND=nag_wp) arrayInput/Output
Note: the dimension of the array X
must be at least
.
On entry: the vector .
If ,
must be stored in , for .
If ,
must be stored in , for .
On exit: the updated vector stored in the array elements used to supply the original vector .
7: INCX – INTEGERInput
On entry: the increment in the subscripts of X between successive elements of .