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

NAME

6       SGBMV - 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 SGBMV(TRANS,M,N,KL,KU,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)
11
12           REAL                                                         ALPHA,BETA
13
14           INTEGER                                                      INCX,INCY,KL,KU,LDA,M,N
15
16           CHARACTER                                                    TRANS
17
18           REAL                                                         A(LDA,*),X(*),Y(*)
19

PURPOSE

21       SGBMV  performs one of the matrix-vector operations
22
23       where  alpha and beta are scalars, x and y are vectors and A is an m by
24       n band matrix, with kl sub-diagonals and ku super-diagonals.
25
26

ARGUMENTS

28       TRANS  - CHARACTER*1.
29              On entry, TRANS specifies the operation to be performed as  fol‐
30              lows:
31
32              TRANS = 'N' or 'n'   y := alpha*A*x + beta*y.
33
34              TRANS = 'T' or 't'   y := alpha*A'*x + beta*y.
35
36              TRANS = 'C' or 'c'   y := alpha*A'*x + beta*y.
37
38              Unchanged on exit.
39
40       M      - INTEGER.
41              On  entry,  M  specifies  the number of rows of the matrix A.  M
42              must be at least zero.  Unchanged on exit.
43
44       N      - INTEGER.
45              On entry, N specifies the number of columns of the matrix A.   N
46              must be at least zero.  Unchanged on exit.
47
48       KL     - INTEGER.
49              On entry, KL specifies the number of sub-diagonals of the matrix
50              A. KL must satisfy  0 .le. KL.  Unchanged on exit.
51
52       KU     - INTEGER.
53              On entry, KU specifies the  number  of  super-diagonals  of  the
54              matrix A. KU must satisfy  0 .le. KU.  Unchanged on exit.
55
56       ALPHA  - REAL            .
57              On entry, ALPHA specifies the scalar alpha.  Unchanged on exit.
58
59       A      - REAL             array of DIMENSION ( LDA, n ).
60              Before entry, the leading ( kl + ku + 1 ) by n part of the array
61              A must contain the matrix of coefficients,  supplied  column  by
62              column,  with the leading diagonal of the matrix in row ( ku + 1
63              ) of the array, the first super-diagonal starting at position  2
64              in  row ku, the first sub-diagonal starting at position 1 in row
65              ( ku + 2 ), and so on.  Elements in the array A that do not cor‐
66              respond  to elements in the band matrix (such as the top left ku
67              by ku triangle) are not referenced.  The following program  seg‐
68              ment  will  transfer a band matrix from conventional full matrix
69              storage to band storage:
70
71              DO 20, J = 1, N K = KU + 1 - J DO 10, I = MAX( 1, J - KU ), MIN(
72              M,  J  +  KL  ) A( K + I, J ) = matrix( I, J ) 10    CONTINUE 20
73              CONTINUE
74
75              Unchanged on exit.
76
77       LDA    - INTEGER.
78              On entry, LDA specifies the first dimension of A as declared  in
79              the calling (sub) program. LDA must be at least ( kl + ku + 1 ).
80              Unchanged on exit.
81
82       X      - REAL             array of DIMENSION at least
83              ( 1 + ( n - 1 )*abs( INCX ) ) when TRANS = 'N'  or  'n'  and  at
84              least  (  1  + ( m - 1 )*abs( INCX ) ) otherwise.  Before entry,
85              the incremented array X must contain the vector x.  Unchanged on
86              exit.
87
88       INCX   - INTEGER.
89              On  entry,  INCX  specifies the increment for the elements of X.
90              INCX must not be zero.  Unchanged on exit.
91
92       BETA   - REAL            .
93              On entry, BETA specifies the scalar beta. When BETA is  supplied
94              as zero then Y need not be set on input.  Unchanged on exit.
95
96       Y      - REAL             array of DIMENSION at least
97              (  1  +  (  m - 1 )*abs( INCY ) ) when TRANS = 'N' or 'n' and at
98              least ( 1 + ( n - 1 )*abs( INCY ) )  otherwise.   Before  entry,
99              the incremented array Y must contain the vector y. On exit, Y is
100              overwritten by the updated vector y.
101
102       INCY   - INTEGER.
103              On entry, INCY specifies the increment for the  elements  of  Y.
104              INCY must not be zero.  Unchanged on exit.
105

FURTHER DETAILS

107       Level 2 Blas routine.
108
109       -- Written on 22-October-1986.
110          Jack Dongarra, Argonne National Lab.
111          Jeremy Du Croz, Nag Central Office.
112          Sven Hammarling, Nag Central Office.
113          Richard Hanson, Sandia National Labs.
114
115
116
117
118BLAS routine                     November 2008                        SGBMV(1)
Impressum