Chapter 3 Basic Matrix Operations 407

Triangular packed solve

F_STPSV/F_DTPSV/F_CTPSV/F_ZTPSV

INTEGER*8

DIAG, INCX, N, TRANS, UPLO

REAL*8

ALPHA, AP( * ), X( * )

SUBROUTINE F_DTPSV (UPLO, TRANS, DIAG, N, ALPHA, AP, X, INCX)

INTEGER*8

DIAG, INCX, N, TRANS, UPLO

COMPLEX*8

ALPHA, AP( * ), X( * )

SUBROUTINE F_CTPSV (UPLO, TRANS, DIAG, N, ALPHA, AP, X, INCX)

INTEGER*8

DIAG, INCX, N, TRANS, UPLO

COMPLEX*16

ALPHA, AP( * ), X( * )

SUBROUTINE F_ZTPSV (UPLO, TRANS, DIAG, N, ALPHA, AP, X, INCX)

Input

UPLO

Specifies whether a triangular matrix is upper or lower

 

 

triangular. Use either BLAS_UPPER or BLAS_LOWER.

 

TRANS

Specifies whether to apply the matrix (A), its transpose

 

 

(AT), or its conjugate transpose (A*). Use one of the

 

 

following: BLAS_NO_TRANS, BLAS_TRANS, or

 

 

BLAS_CONJ_TRANS.

 

DIAG

Specifies whether the triangular matrix has

 

 

unit-diagonal or not. Use one of the following:

 

 

BLAS_UNIT_DIAG or BLAS_NON_UNIT_DIAG.

 

N

Number of columns in matrix A, n > 0. If n 0 , the

 

 

subprograms do not reference A, X, or Y.

 

ALPHA

The scalar ALPHA.

 

AP

Array containing the upper or lower triangle, as

 

 

specified by uplo of an n-by-nreal symmetric or

 

 

complex Hermitian matrix A, stored by columns in

 

 

packed form.

 

X

REAL or COMPLEX array, minimum length

 

 

(N - 1) x incx + 1.

 

INCX

Increment for the array x. A vector x having component

 

 

xi, i = 1,..., n, is stored in an array X() with increment

 

 

argument incx. If incx > 0 then xi is stored in

 

 

X (1 + (i - 1) x incx). If incx < 0 then xi is stored in

 

 

X (1 + (N - i) x incx). incx = 0 is an illegal value.

Output

AP

The upper or lower triangle of the updated A matrix, as

 

 

specified by uplo, replaces the input.