[ Bottom of Page | Previous Page | Next Page | Contents | Index | Library Home | Legal | Search ]

Technical Reference: Base Operating System and Extensions, Volume 2

STPMV, DTPMV, CTPMV, or ZTPMV Subroutine

Purpose

Performs matrix-vector operations on a packed triangular matrix.

Library

BLAS Library (libblas.a)

FORTRAN Syntax


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

SUBROUTINE DTPMV(UPLO, TRANS, DIAG,
N, AP, X, INCX)
INTEGER INCX,N
CHARACTER*1 DIAG,TRANS,UPLO
DOUBLE PRECISION AP(*), X(*)

SUBROUTINE CTPMV(UPLO, TRANS, DIAG,
N, AP, X, INCX)
INTEGER INCX,N
CHARACTER*1 DIAG,TRANS,UPLO
COMPLEX AP(*), X(*)

SUBROUTINE ZTPMV(UPLO, TRANS, DIAG,
N, AP, X, INCX)
INTEGER INCX,N
CHARACTER*1 DIAG,TRANS,UPLO
COMPLEX*16 AP(*), X(*)

Description

The STPMV, DTPMV, CTPMV, or ZTPMV subroutine performs one of the matrix-vector operations:

x := A * x

OR

x := A' * x

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

Parameters

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 operation to be performed as follows:
TRANS = 'N' or 'n'
x := A * x
TRANS = 'T' or 't'
x := A' * x
TRANS = 'C' or 'c'
x := A' * x

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. On 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 vector x; on exit, X is overwritten with the transformed vector x.
INCX On entry, INCX specifies the increment for the elements of X; INCX must not be 0; unchanged on exit.

[ Top of Page | Previous Page | Next Page | Contents | Index | Library Home | Legal | Search ]