Developer Reference

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

?la_geamv

Computes a matrix-vector product using a general matrix to calculate error bounds.

Syntax

call sla_geamv
(
trans
,
m
,
n
,
alpha
,
a
,
lda
,
x
,
incx
,
beta
,
y
,
incy
)
call dla_geamv
(
trans
,
m
,
n
,
alpha
,
a
,
lda
,
x
,
incx
,
beta
,
y
,
incy
)
call cla_geamv
(
trans
,
m
,
n
,
alpha
,
a
,
lda
,
x
,
incx
,
beta
,
y
,
incy
)
call zla_geamv
(
trans
,
m
,
n
,
alpha
,
a
,
lda
,
x
,
incx
,
beta
,
y
,
incy
)
Include Files
  • mkl.fi
Description
The
?la_geamv
routines perform a matrix-vector operation defined as
y
:=
alpha
*abs(
A
)*(
x
) +
beta
*abs(
y
)
,
or
y
:=
alpha
*abs(
A
T
)*abs(
x
) +
beta
*abs(
y
)
,
where:
alpha
and
beta
are scalars,
x
and
y
are vectors,
A
is an
m
-by-
n
matrix.
This function is primarily used in calculating error bounds. To protect against underflow during evaluation, the function perturbs components in the resulting vector away from zero by
(
n
+ 1)
times the underflow threshold. To prevent unnecessarily large errors for block structure embedded in general matrices, the function does not perturb
symbolically
zero components. A zero entry is considered
symbolic
if all multiplications involved in computing that entry have at least one zero multiplicand.
Input Parameters
trans
CHARACTER*1
. Specifies the operation:
if
trans
= BLAS_NO_TRANS
, then
y
:=
alpha
*abs(
A
)*abs(
x
) +
beta
*abs(
y
)
if
trans
= BLAS_TRANS
, then
y
:=
alpha
*abs(
A
T
)*abs(
x
) +
beta
*abs(
y
)
if
trans
= 'BLAS_CONJ_TRANS
, then
y
:=
alpha
*abs(
A
T
)*abs(
x
) +
beta
*abs(
y
)
.
m
INTEGER
. Specifies the number of rows of the matrix
A
. The value of
m
must be at least zero.
n
INTEGER
. Specifies the number of columns of the matrix
A
. The value of
n
must be at least zero.
alpha
REAL
for
sla_geamv
and for
cla_geamv
DOUBLE PRECISION
for
dla_geamv
and
zla_geamv
Specifies the scalar
alpha
.
a
REAL
for
sla_geamv
DOUBLE PRECISION
for
dla_geamv
COMPLEX
for
cla_geamv
DOUBLE COMPLEX
for
zla_geamv
Array,
DIMENSION
(
lda
,
*
)
. Before entry, the leading
m
-by-
n
part of the array
a
must contain the matrix of coefficients. The second dimension of
a
must be at least
max(1,
n
)
.
lda
INTEGER
. Specifies the leading dimension of
a
as declared in the calling (sub)program. The value of
lda
must be at least
max(1,
m
)
.