f06paf (dgemv) (PDF version)
F06 (blas) Chapter Contents
F06 (blas) Chapter Introduction
NAG Library Manual
Keyword Search:
NAG Library Routine Document
f06paf (dgemv)
▸
▿
Contents
1
Purpose
2
Specification
3
Description
4
References
5
Arguments
6
Error Indicators and Warnings
7
Accuracy
8
Parallelism and Performance
9
Further Comments
10
Example
1
Purpose
f06paf (dgemv)
computes the matrix-vector product for a real general matrix or its transpose.
2
Specification
Fortran Interface
Subroutine f06paf (
trans
,
m
,
n
,
alpha
,
a
,
lda
,
x
,
incx
,
beta
,
y
,
incy
)
Integer, Intent (In)
::
m
,
n
,
lda
,
incx
,
incy
Real (Kind=nag_wp), Intent (In)
::
alpha
,
a(lda,*)
,
x(*)
,
beta
Real (Kind=nag_wp), Intent (Inout)
::
y(*)
Character (1), Intent (In)
::
trans
C Header Interface
#include nagmk26.h
void
f06paf_ (
const char *
trans
,
const Integer *
m
,
const Integer *
n
,
const double *
alpha
,
const double
a
[]
,
const Integer *
lda
,
const double
x
[]
,
const Integer *
incx
,
const double *
beta
,
double
y
[]
,
const Integer *
incy
,
const Charlen
length_trans
)
The routine may be called by its BLAS name
dgemv
.
3
Description
f06paf (dgemv)
performs one of the matrix-vector operations
y
←
α
A
x
+
β
y
, or
y
←
α
A
T
x
+
β
y
,
where
A
is an
m
by
n
real matrix,
x
and
y
are real vectors, and
α
and
β
are real scalars.
If
m
=
0
or
n
=
0
, no operation is performed.
4
References
None.
5
Arguments
1:
trans
– Character(1)
Input
On entry
: specifies the operation to be performed.
trans
=
'N'
y
←
α
A
x
+
β
y
.
trans
=
'T'
or
'C'
y
←
α
A
T
x
+
β
y
.
Constraint
:
trans
=
'N'
,
'T'
or
'C'
.
2:
m
– Integer
Input
On entry
:
m
, the number of rows of the matrix
A
.
Constraint
:
m
≥
0
.
3:
n
– Integer
Input
On entry
:
n
, the number of columns of the matrix
A
.
Constraint
:
n
≥
0
.
4:
alpha
– Real (Kind=nag_wp)
Input
On entry
: the scalar
α
.
5:
a
lda
*
– Real (Kind=nag_wp) array
Input
Note:
the second dimension of the array
a
must be at least
n
.
On entry
: the
m
by
n
matrix
A
.
6:
lda
– Integer
Input
On entry
: the first dimension of the array
a
as declared in the (sub)program from which
f06paf (dgemv)
is called.
Constraint
:
lda
≥
max
1
,
m
.
7:
x
*
– Real (Kind=nag_wp) array
Input
Note:
the dimension of the array
x
must be at least
max
1
,
1
+
n
-
1
×
incx
if
trans
=
'N'
and at least
max
1
,
1
+
m
-
1
×
incx
if
trans
=
'T'
or
'C'
.
On entry
: the vector
x
.
If
trans
=
'N'
,
if
incx
>
0
,
x
i
must be stored in
x
1
+
i
-
1
×
incx
, for
i
=
1
,
2
,
…
,
n
;
if
incx
<
0
,
x
i
must be stored in
x
1
-
n
-
i
×
incx
, for
i
=
1
,
2
,
…
,
n
.
If
trans
=
'T'
or
'C'
,
if
incx
>
0
,
x
i
must be stored in
x
1
+
i
-
1
×
incx
, for
i
=
1
,
2
,
…
,
m
;
if
incx
<
0
,
x
i
must be stored in
x
1
-
m
-
i
×
incx
, for
i
=
1
,
2
,
…
,
m
.
8:
incx
– Integer
Input
On entry
: the increment in the subscripts of
x
between successive elements of
x
.
Constraint
:
incx
≠
0
.
9:
beta
– Real (Kind=nag_wp)
Input
On entry
: the scalar
β
.
10:
y
*
– Real (Kind=nag_wp) array
Input/Output
Note:
the dimension of the array
y
must be at least
max
1
,
1
+
m
-
1
×
incy
if
trans
=
'N'
and at least
max
1
,
1
+
n
-
1
×
incy
if
trans
=
'T'
or
'C'
.
On entry
: the vector
y
, if
beta
=
0.0
,
y
need not be set.
If
trans
=
'N'
,
if
incy
>
0
,
y
i
must be stored in
y
1
+
i
-
1
×
incy
, for
i
=
1
,
2
,
…
,
m
;
if
incy
<
0
,
y
i
must be stored in
y
1
-
m
-
i
×
incy
, for
i
=
1
,
2
,
…
,
m
.
If
trans
=
'T'
or
'C'
,
if
incy
>
0
,
y
i
must be stored in
y
1
+
i
-
1
×
incy
, for
i
=
1
,
2
,
…
,
n
;
if
incy
<
0
,
y
i
must be stored in
y
1
-
n
-
i
×
incy
, for
i
=
1
,
2
,
…
,
n
.
On exit
: the updated vector
y
stored in the array elements used to supply the original vector
y
.
11:
incy
– Integer
Input
On entry
: the increment in the subscripts of
y
between successive elements of
y
.
Constraint
:
incy
≠
0
.
6
Error Indicators and Warnings
None.
7
Accuracy
Not applicable.
8
Parallelism and Performance
f06paf (dgemv)
is not threaded in any implementation.
9
Further Comments
None.
10
Example
None.
f06paf (dgemv) (PDF version)
F06 (blas) Chapter Contents
F06 (blas) Chapter Introduction
NAG Library Manual
© The Numerical Algorithms Group Ltd, Oxford, UK. 2017