CXML
stpsv, dtpsv, ctpsv, ztpsv
Solve a system of linear equations with a
triangular matrix in packed form
FORMAT
{S,D,C,Z}TPSV (uplo, trans, diag, n, ap, x, incx)
Arguments
uplo character*1
On entry, specifies whether the matrix A is an upper-
or lower-triangular matrix:
If uplo = 'U' or 'u', A is an upper-triangular matrix.
If uplo = 'L' or 'l', A is a lower-triangular matrix.
On exit, uplo is unchanged.
trans character*1
On entry, specifies the system to be solved:
If trans = 'N' or 'n', the system is Ax = b.
If trans = 'T' or 't', the system is transp(A)*x = b.
If trans = 'C' or 'c', the system is conjug_transp(A)*x
= b.
On exit, trans is unchanged.
diag character*1
On entry, specifies whether the matrix A is unit-
triangular:
If diag = 'U' or 'u', A is a unit-triangular matrix.
If diag = 'N' or 'n', A is not a unit-triangular
matrix.
On exit, diag is unchanged.
n integer*4
On entry, the order of the matrix A; n >= 0.
On exit, n is unchanged.
ap real*4 | real*8 | complex*8 | complex*16
On entry, a one-dimensional array AP of length at least
n(n + 1)/2.
If uplo specifies the upper triangular part of the matrix A, the array
contains those elements of the matrix, packed sequentially, column by
column, so that AP(1) contains a(11), AP(2) and AP(3) contain a(12) and
a(22) respectively, and so on.
If uplo specifies the lower triangular part to the matrix A, so that AP(1)
contains a(11), AP(2) and AP(3) contain a(21) and a(31) respectively, and
so on.
If diag is equal to 'U' or 'u', the diagonal elements of A are not
referenced, but are assumed to be unity.
On exit, ap is unchanged.
x real*4 | real*8 | complex*8 | complex*16
On entry, a one-dimensional array X of length at least
(1+(n-1)*|incx|). Array X contains the vector b.
On exit, x is overwritten with the solution vector x.
incx integer*4
On entry, the increment for the elements of X; incx
must not equal zero.
On exit, incx is unchanged.
Description
The _TPSV subprograms solve one of the following systems of linear
equations for x: Ax = b or transp(A)*x = b. In addition to these
operations, the CTPSV and ZTPSV subprograms solve the following system of
equations: conjug_transp(A)*x = b .
b and x are vectors with n elements and A is an n by n, unit or non-unit,
upper- or lower-triangular matrix, supplied in packed form.
The _TPSV routines do not perform checks for singularity or near
singularity of the triangular matrix. The requirements for such a test
depend on the application. If necessary, perform the test in your
application program before calling this routine.
Example
REAL*8 A(500), X(30)
INCX = 1
N = 30
CALL DTPSV('L','T','N',N,AP,X,INCX)
This FORTRAN code solves the system transp(A)*x = b where A is a lower-
triangular matrix of order 30, with non-unit diagonal, stored in packed
form. The right hand side b is originally contained in the vector x.
CXML Home Page Index of CXML Routines