_SPMV,_HPMV(3F) _SPMV,_HPMV(3F)NAME
dspmv, sspmv, zhpmv, chpmv - BLAS Level Two (Symmetric/Hermitian)
Packed Matrix - Vector Product
FORTRAN 77 SYNOPSIS
subroutine dspmv( uplo,n,alpha,ap,x,incx,beta,y,incy )
character*1 uplo
integer n, incx, incy
double precision alpha, beta
double precision ap(*), x(*), y(*)
subroutine sspmv( uplo,n,alpha,ap,x,incx,beta,y,incy )
character*1 uplo
integer n, incx, incy
real alpha, beta
real ap(*), x(*), y(*)
subroutine zhpmv( uplo,n,alpha,ap,x,incx,beta,y,incy )
character*1 uplo
integer n, incx, incy
double complex alpha, beta
double complex ap(*), x(*), y(*)
subroutine chpmv( uplo,n,alpha,ap,x,incx,beta,y,incy )
character*1 uplo
integer n, incx, incy
complex alpha, beta
complex ap(*), x(*), y(*)
C SYNOPSIS
void dspmv( uplo,n,alpha,ap,x,incx,beta,y,incy )
MatrixTriangle uplo;
Integer n, incx, incy;
double alpha, beta;
double (*ap)[ n*( n + 1 ) )/2 ], (*x)[ n ], (*y)[ n ];
void sspmv( uplo,n,alpha,ap,x,incx,beta,y,incy )
MatrixTriangle uplo;
Integer n, incx, incy;
float alpha, beta;
float (*ap)[ n*( n + 1 ) )/2 ], (*x)[ n ], (*y)[ n ];
void zhpmv( uplo,n,alpha,ap,x,incx,beta,y,incy )
MatrixTriangle uplo;
Integer n, incx, incy;
Zomplex alpha, beta;
Zomplex (*ap)[ n*( n + 1 ) )/2 ], (*x)[ n ], (*y)[ n ];
void chpmv( uplo,n,alpha,ap,x,incx,beta,y,incy )
MatrixTriangle uplo;
Page 1
_SPMV,_HPMV(3F) _SPMV,_HPMV(3F)
Integer n, incx, incy;
Complex alpha, beta;
Complex (*ap)[ n*( n + 1 ) )/2 ], (*x)[ n ], (*y)[ n ];
DESCRIPTION
dspmv , sspmv , dhpmv and chpmv perform matrix-vector operation
y := alpha*A*x + beta*y,
where alpha and beta are scalars, x and y are n element vectors and A is
an n by n symmetric/hermitian matrix, supplied in packed form.
PARAMETERS
uplo On entry, uplo specifies whether the upper or lower triangular
part of the matrix A is being supplied as follows:
FORTRAN
uplo = 'U' or 'u' The upper triangular part of A is
supplied in AP.
uplo = 'L' or 'l' The lower triangular part of A is
supplied in AP.
C
uplo = UpperTriangle The upper triangular part of A is
supplied in AP.
uplo = LowerTriangle The lower triangular part of A is
supplied in AP.
Unchanged on exit.
n On entry, n specifies the the order of the matrix A. n must be
at least zero.
Unchanged on exit.
alpha specifies the scalar alpha.
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 part of the symmetric/hermitian 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 part of the symmetric/hermitian
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(
Page 2
_SPMV,_HPMV(3F) _SPMV,_HPMV(3F)
3, 1 ) respectively, and so on.
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.
Unchanged on exit.
incx On entry, incx specifies the increment for the elements of x.
incx must not be zero.
Unchanged on exit.
beta On entry, beta specifies the scalar beta. When beta is supplied
as zero then y need not be set on input.
Unchanged on exit.
y Array of size at least ( 1 + ( n - 1 )*abs( INCY ) ). Before
entry, the incremented array y must contain the n element vector
y. On exit, y is overwritten by the updated vector y.
incy On entry, incy specifies the increment for the elements of y.
incy 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.
TUNING
DSPMV and SSPMV are optimized and parallelized for SGI R3000 and
R4x00 platforms.
ZHPMV and CHPMV are optimized and parallelized for SGI R3000, R4x00
and R8000 platforms.
Page 3