This manual relates to an old release of the Library.
The documentation for the current release is also available on this site.

NAG FL Interface
f06paf (dgemv)

Settings help

FL Name Style:


FL Specification Language:


1 Purpose

f06paf 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 <nag.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 the names f06paf, nagf_blas_dgemv or its BLAS name dgemv.

3 Description

f06paf performs one of the matrix-vector operations
yαAx + βy ,   or   yαATx + βy ,  
where A is an m×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αAx+βy.
trans='T' or 'C'
yαATx+βy.
Constraint: trans='N', 'T' or 'C'.
2: m Integer Input
On entry: m, the number of rows of the matrix A.
Constraint: m0.
3: n Integer Input
On entry: n, the number of columns of the matrix A.
Constraint: n0.
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×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 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, xi must be stored in x(1+(i-1)×incx) , for i=1,2,,n;
  • if incx<0, xi must be stored in x(1-(n-i)×incx) , for i=1,2,,n.
If trans='T' or 'C',
  • if incx>0, xi must be stored in x(1+(i-1)×incx) , for i=1,2,,m;
  • if incx<0, xi 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: incx0.
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, yi must be stored in y(1+(i-1)×incy) , for i=1,2,,m;
  • if incy<0, yi must be stored in y(1-(m-i)×incy) , for i=1,2,,m.
If trans='T' or 'C',
  • if incy>0, yi must be stored in y(1+(i-1)×incy) , for i=1,2,,n;
  • if incy<0, yi 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: incy0.

6 Error Indicators and Warnings

None.

7 Accuracy

Not applicable.

8 Parallelism and Performance

f06paf is not threaded in any implementation.

9 Further Comments

None.

10 Example

None.