## Developer Reference

• 2020.2
• 07/15/2020
• Public Content
Contents

# ?spmv

Computes a matrix-vector product with a symmetric packed matrix.

## Syntax

Include Files
• mkl.fi
,
blas.f90
Description
The
?spmv
routines perform a matrix-vector operation defined as
`y := alpha*A*x + beta*y,`
where:
alpha
and
beta
are scalars,
x
and
y
are
n
-element vectors,
A
is an
n
-by-
n
symmetric matrix, supplied in packed form.
Input Parameters
uplo
CHARACTER*1
.
Specifies whether the upper or lower triangular part of the matrix
A
is supplied in the packed array
ap
.
If
uplo
=
'U'
or
'u'
, then the upper triangular part of the matrix
A
is supplied in the packed array
ap
.
If
uplo
=
'L'
or
'l'
, then the low triangular part of the matrix
A
is supplied in the packed array
ap
.
n
INTEGER
.
Specifies the order of the matrix
A
. The value of
n
must be at least zero.
alpha
REAL
for
sspmv
DOUBLE PRECISION
for
dspmv
Specifies the scalar
alpha
.
ap
REAL
for
sspmv
DOUBLE PRECISION
for
dspmv
Array, size at least
((n*(n + 1))/2)
.
Before entry with
uplo
=
'U'
or
'u'
, the array
ap
must contain the upper triangular part of the symmetric 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 part of the symmetric 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.
x
REAL
for
sspmv
DOUBLE PRECISION
for
dspmv
Array, size at least
(1 + (
n
- 1)*abs(
incx
))
. Before entry, the incremented array
x
must contain the
n
-element vector
x
.
incx
INTEGER
.
Specifies the increment for the elements of
x
.
The value of
incx
must not be zero.
beta
REAL
for
sspmv
DOUBLE PRECISION
for
dspmv
Specifies the scalar
beta
.
When
beta
is supplied as zero, then
y
need not be set on input.
y
REAL
for
sspmv
DOUBLE PRECISION
for
dspmv
Array, size at le