_TPMV,_TPSV(3F) _TPMV,_TPSV(3F)NAME
dtpmv, stpmv, ztpmv, ctpmv, dtpsv, stpsv, ztpsv, ctpsv - BLAS Level Two
Matrix-Vector Product and Solution of System of Equations
FORTRAN 77 SYNOPSIS
subroutine dtpmv( uplo, trans, diag, n, ap, x, incx )
subroutine dtpsv( uplo, trans, diag, n, ap, x, incx )
character*1 uplo, trans, diag
integer n, incx
double precision ap(*), x(*)
subroutine stpmv( uplo, trans, diag, n, ap, x, incx )
subroutine stpsv( uplo, trans, diag, n, ap, x, incx )
character*1 uplo, trans, diag
integer n, incx
real ap(*), x(*)
subroutine ztpmv( uplo, trans, diag, n, ap, x, incx )
subroutine ztpsv( uplo, trans, diag, n, ap, x, incx )
character*1 uplo, trans, diag
integer n, incx
double complex ap(*), x(*)
subroutine ctpmv( uplo, trans, diag, n, ap, x, incx )
subroutine ctpsv( uplo, trans, diag, n, ap, x, incx )
character*1 uplo, trans, diag
integer n, incx
complex ap(*), x(*)
FORTRAN 77 SYNOPSIS
void dtpmv( uplo, trans, diag, n, ap, x, incx )
void dtpsv( uplo, trans, diag, n, ap, x, incx )
MatrixTriangle uplo;
MatrixTranspose trans;
MatrixUnitTriangular diag;
Integer n, incx;
double (*ap[ n ], (*x)[ n ];
void stpmv( uplo, trans, diag, n, ap, x, incx )
void stpsv( uplo, trans, diag, n, ap, x, incx )
MatrixTriangle uplo;
MatrixTranspose trans;
MatrixUnitTriangular diag;
Integer n, incx;
float (*ap[ n ], (*x)[ n ];
void ztpmv( uplo, trans, diag, n, ap, x, incx )
void ztpsv( uplo, trans, diag, n, ap, x, incx )
MatrixTriangle uplo;
MatrixTranspose trans;
Page 1
_TPMV,_TPSV(3F) _TPMV,_TPSV(3F)
MatrixUnitTriangular diag;
Integer n, incx;
Zomplex (*ap[ n ], (*x)[ n ];
void ctpmv( uplo, trans, diag, n, ap, x, incx )
void ctpsv( uplo, trans, diag, n, ap, x, incx )
MatrixTriangle uplo;
MatrixTranspose trans;
MatrixUnitTriangular diag;
Integer n, incx;
Complex (*ap[ n ], (*x)[ n ];
DESCRIPTION
dtpmv, stpmv, ztpmv and ctpmv perform one of the matrix-vector operations
x := A*x, or x := A'*x, or x := conjg( 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.
dtpsv, stpsv, ztpsv and ctpsv solve one of the systems of equations
A*x = b, or A'*x = b, or conjg( 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
uplo On entry, uplo specifies whether the matrix is an upper or lower
triangular matrix as follows:
FORTRAN
uplo = 'U' or 'u' A is an upper triangular matrix.
uplo = 'L' or 'l' A is a lower triangular matrix.
C
uplo = UpperTriangle A is an upper triangular matrix.
uplo = LowerTriangle A is a lower triangular matrix.
Unchanged on exit.
trans On entry, trans specifies the operation to be
FORTRAN
trans = 'N' or 'n' x := A*x / A*x = b.
trans = 'T' or 't' x := A'*x / A'*x = b.
trans = 'C' or 'c' x := conjg( A' )*x /
Page 2
_TPMV,_TPSV(3F) _TPMV,_TPSV(3F)
conjg( A' )*x = b.
C
trans = NoTranspose x := A*x / A*x = b.
trans = Transpose x := A'*x / A'*x = b.
trans = ConjugateTranspose x := conjg( A' )*x
conjg( A' )*x = b.
For real value matrices, trans='C' and trans='T' has the same
meaning.
Unchanged on exit.
diag On entry, diag specifies whether or not A is unit triangular as
follows:
FORTRAN
diag = 'U' or 'u' A is assumed to be unit triangular.
diag = 'N' or 'n' A is not assumed to be unit triangular.
C
diag = UnitTriangular A is assumed to be unit
triangular.
diag = NotUnitTriangular 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 zero.
Unchanged on exit.
ap Array of size at least ( ( n*( n + 1 ) )/2 ).
Before entry with uplo = 'U' or 'u' or 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' or , 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.
Note that when diag = 'U' or 'u' or , the elements of a
corresponding to the diagonal elements of the matrix A are not
referenced either, but are assumed to be unity.
Unchanged on exit.
x Array of size at least ( 1 + ( n - 1 )*abs( incx ) ). Before
entry, the incremented array x must contain the n element vector
x. On exit, x is overwritten with the transformed/solution vector
Page 3
_TPMV,_TPSV(3F) _TPMV,_TPSV(3F)
x.
incx On entry, incx specifies the increment for the elements of x.
incx must not be zero.
Unchanged on exit.
AUTHORS
Jack Dongarra, Argonne National Laboratory.
Iain Duff, AERE Harwell.
Jeremy Du Croz, Numerical Algorithms Group Ltd.
Sven Hammarling, Numerical Algorithms Group Ltd.
Page 4