1DGEMV(1)                         BLAS routine                         DGEMV(1)
2
3
4

NAME

6       DGEMV - performs one of the matrix-vector operations   y := alpha*A*x +
7       beta*y, or y := alpha*A'*x + beta*y,
8

SYNOPSIS

10       SUBROUTINE DGEMV(TRANS,M,N,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)
11
12           DOUBLE                                                 PRECISION
13                                                                  ALPHA,BETA
14
15           INTEGER                                                INCX,INCY,LDA,M,N
16
17           CHARACTER                                              TRANS
18
19           DOUBLE                                                 PRECISION
20                                                                  A(LDA,*),X(*),Y(*)
21

PURPOSE

23       DGEMV  performs one of the matrix-vector operations
24
25       where alpha and beta are scalars, x and y are vectors and A is an m  by
26       n matrix.
27
28

ARGUMENTS

30       TRANS  - CHARACTER*1.
31              On  entry, TRANS specifies the operation to be performed as fol‐
32              lows:
33
34              TRANS = 'N' or 'n'   y := alpha*A*x + beta*y.
35
36              TRANS = 'T' or 't'   y := alpha*A'*x + beta*y.
37
38              TRANS = 'C' or 'c'   y := alpha*A'*x + beta*y.
39
40              Unchanged on exit.
41
42       M      - INTEGER.
43              On entry, M specifies the number of rows of  the  matrix  A.   M
44              must be at least zero.  Unchanged on exit.
45
46       N      - INTEGER.
47              On  entry, N specifies the number of columns of the matrix A.  N
48              must be at least zero.  Unchanged on exit.
49
50       ALPHA  - DOUBLE PRECISION.
51              On entry, ALPHA specifies the scalar alpha.  Unchanged on exit.
52
53       A      - DOUBLE PRECISION array of DIMENSION ( LDA, n ).
54              Before entry, the leading m by n part of the array A  must  con‐
55              tain the matrix of coefficients.  Unchanged on exit.
56
57       LDA    - INTEGER.
58              On  entry, LDA specifies the first dimension of A as declared in
59              the calling (sub) program. LDA must be at least  max(  1,  m  ).
60              Unchanged on exit.
61
62       X      - DOUBLE PRECISION array of DIMENSION at least
63              (  1  +  (  n - 1 )*abs( INCX ) ) when TRANS = 'N' or 'n' and at
64              least ( 1 + ( m - 1 )*abs( INCX ) )  otherwise.   Before  entry,
65              the incremented array X must contain the vector x.  Unchanged on
66              exit.
67
68       INCX   - INTEGER.
69              On entry, INCX specifies the increment for the  elements  of  X.
70              INCX must not be zero.  Unchanged on exit.
71
72       BETA   - DOUBLE PRECISION.
73              On  entry, BETA specifies the scalar beta. When BETA is supplied
74              as zero then Y need not be set on input.  Unchanged on exit.
75
76       Y      - DOUBLE PRECISION array of DIMENSION at least
77              ( 1 + ( m - 1 )*abs( INCY ) ) when TRANS = 'N'  or  'n'  and  at
78              least  (  1  +  ( n - 1 )*abs( INCY ) ) otherwise.  Before entry
79              with BETA non-zero, the incremented array  Y  must  contain  the
80              vector y. On exit, Y is overwritten by the updated vector y.
81
82       INCY   - INTEGER.
83              On  entry,  INCY  specifies the increment for the elements of Y.
84              INCY must not be zero.  Unchanged on exit.
85

FURTHER DETAILS

87       Level 2 Blas routine.
88
89       -- Written on 22-October-1986.
90          Jack Dongarra, Argonne National Lab.
91          Jeremy Du Croz, Nag Central Office.
92          Sven Hammarling, Nag Central Office.
93          Richard Hanson, Sandia National Labs.
94
95
96
97
98BLAS routine                     November 2008                        DGEMV(1)
Impressum