{S,D,C,Z}TPSV (uplo, trans, diag, n, ap, x, incx)
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.
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.
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.