## Developer Reference

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

# ?tpmv

Computes a matrix-vector product using a triangular packed matrix.

## Syntax

Include Files
• mkl.fi
,
blas.f90
Description
The
?tpmv
routines perform one of the matrix-vector operations defined as
x
:=
A
*
x
, or
x
:=
A
'*
x
, or
x
:= conjg(
A
')*
x
,
where:
x
is an
n
-element vector,
A
is an
n
-by-
n
unit, or non-unit, upper or lower triangular matrix, supplied in packed form.
Input Parameters
uplo
CHARACTER*1
.
Specifies whether the matrix
A
is upper or lower triangular:
uplo
=
'U'
or
'u'
if
uplo
=
'L'
or
'l'
, then the matrix is low triangular.
trans
CHARACTER*1
.
Specifies the operation:
if
trans
= 'N'
or
'n'
, then
x
:=
A
*
x
;
if
trans
= 'T'
or
't'
, then
x
:=
A
'*
x
;
if
trans
= 'C'
or
'c'
, then
x
:= conjg(
A
')*
x
.
diag
CHARACTER*1
.
Specifies whether the matrix
A
is unit triangular:
if
diag
=
'U'
or
'u'
then the matrix is unit triangular;
if
diag
=
'N'
or
'n'
, then the matrix is not unit triangular.
n
INTEGER
.
Specifies the order of the matrix
A
. The value of
n
must be at least zero.
ap
REAL
for
stpmv
DOUBLE PRECISION
for
dtpmv
COMPLEX
for
ctpmv
DOUBLE COMPLEX
for
ztpmv
Array, size at least
((
n
*(
n
+ 1))/2)
.
Before 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. Before entry with
uplo
=
'L'
or
'l'