STPSV, DTPSV, CTPSV, or ZTPSV Subroutine

Purpose

Solves systems of equations.

Library

BLAS Library (libblas.a)

FORTRAN Syntax

SUBROUTINE STPSV(UPLO, TRANS, DIAG,
N, AP, X, INCX)
INTEGER  INCX, N
CHARACTER*1  DIAG, TRANS, UPLO
REAL  AP(*),  X(*)

SUBROUTINE DTPSV(UPLO, TRANS, DIAG,
N, AP, X, INCX)
INTEGER INCX,N
CHARACTER*1 DIAG,TRANS,UPLO
DOUBLE PRECISION AP(*), X(*)
SUBROUTINE CTPSV(UPLO, TRANS, DIAG,
N, AP, X, INCX)
INTEGER INCX,N
CHARACTER*1 DIAG,TRANS,UPLO
COMPLEX AP(*), X(*)
SUBROUTINE ZTPSV(UPLO, TRANS, DIAG,
N, AP, X, INCX)
INTEGER INCX,N
CHARACTER*1 DIAG,TRANS,UPLO
COMPLEX*16 AP(*), X(*)

Description

The STPSV, DTPSV, DTPSV, or ZTPSV subroutine solves one of the systems of equations:

A * x = b

OR

A' * x = b

where b and x are N element vectors and A is an N by N unit, or non-unit, upper or lower triangular matrix, supplied in packed form.

No test for singularity or near-singularity is included in this routine. Such tests must be performed before calling this routine.

Parameters

Item Description
UPLO On entry, UPLO specifies whether the matrix is an upper or lower triangular matrix as follows:
UPLO = 'U' or 'u'
A is an upper triangular matrix.
UPLO = 'L' or 'l'
A is a lower triangular matrix.

Unchanged on exit.

TRANS On entry, TRANS specifies the equations to be solved as follows:
TRANS = 'N' or 'n'
A * x = b
TRANS = 'T' or 't'
A' * x = b
TRANS = 'C' or 'c'
A' * x = b

Unchanged on exit.

DIAG On entry, DIAG specifies whether or not A is unit triangular as follows:
DIAG = 'U' or 'u'
A is assumed to be unit triangular.
DIAG = 'N' or 'n'
A is not assumed to be unit triangular.

Unchanged on exit.

N On entry, N specifies the order of the matrix A; N must be at least 0; unchanged on exit.
AP A vector of dimension at least ( ( N * (N+1) )/2 ); on entry with UPLO = 'U' or 'u', the array AP must contain the upper triangular matrix packed sequentially, column by column, so that AP(1) contains A(1,1), AP(2) and AP(3) contain A(1,2) and A(2,2) respectively, and so on. Before entry with UPLO = 'L' or 'l', the array AP must contain the lower triangular matrix packed sequentially, column by column, so that AP(1) contains A(1,1), AP(2) and AP(3) contain A(2,1) and A(3,1) respectively, and so on. When DIAG = 'U' or 'u', the diagonal elements of A are not referenced, but are assumed to be unity; unchanged on exit.
X A vector of dimension at least (1 + (N-1) * abs(INCX) ); on entry, the incremented array X must contain the N element right-hand side vector b; on exit, X is overwritten with the solution vector x.
INCX On entry, INCX specifies the increment for the elements of X; INCX must not be 0; unchanged on exit.