F06SBF (ZGBMV) (PDF version)
F06 Chapter Contents
F06 Chapter Introduction
NAG Library Manual

NAG Library Routine Document

F06SBF (ZGBMV)

Note:  before using this routine, please read the Users' Note for your implementation to check the interpretation of bold italicised terms and other implementation-dependent details.

 Contents

    1  Purpose
    7  Accuracy
    10  Example

1  Purpose

F06SBF (ZGBMV) computes the matrix-vector product for a complex general band matrix, its transpose or its conjugate transpose.

2  Specification

SUBROUTINE F06SBF ( TRANS, M, N, KL, KU, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
INTEGER  M, N, KL, KU, LDA, INCX, INCY
COMPLEX (KIND=nag_wp)  ALPHA, A(LDA,*), X(*), BETA, Y(*)
CHARACTER(1)  TRANS
The routine may be called by its BLAS name zgbmv.

3  Description

F06SBF (ZGBMV) performs one of the matrix-vector operations
yαAx+βy ,   yαATx+βy   or   yαAHx+βy ,  
where A is an m by n complex band matrix with kl subdiagonals and ku superdiagonals, x and y are complex vectors, and α and β are complex scalars.
If m=0 or n=0, no operation is performed.

4  References

None.

5  Parameters

1:     TRANS – CHARACTER(1)Input
On entry: specifies the operation to be performed.
TRANS='N'
yαAx+βy.
TRANS='T'
yαATx+βy.
TRANS='C'
yαAHx+βy.
Constraint: TRANS='N', 'T' or 'C'.
2:     M – INTEGERInput
On entry: m, the number of rows of the matrix A.
Constraint: M0.
3:     N – INTEGERInput
On entry: n, the number of columns of the matrix A.
Constraint: N0.
4:     KL – INTEGERInput
On entry: kl, the number of subdiagonals within the band of A.
Constraint: KL0.
5:     KU – INTEGERInput
On entry: ku, the number of superdiagonals within the band of A.
Constraint: KU0.
6:     ALPHA – COMPLEX (KIND=nag_wp)Input
On entry: the scalar α.
7:     ALDA* – COMPLEX (KIND=nag_wp) arrayInput
Note: the second dimension of the array A must be at least N.
On entry: the m by n band matrix A.
The matrix is stored in rows 1 to kl+ku+1, more precisely, the element Aij must be stored in
Aku+1+i-jj  for ​max1,j-kuiminm,j+kl. 
8:     LDA – INTEGERInput
On entry: the first dimension of the array A as declared in the (sub)program from which F06SBF (ZGBMV) is called.
Constraint: LDAKL+KU+1.
9:     X* – COMPLEX (KIND=nag_wp) arrayInput
Note: the dimension of the array X must be at least max1, 1+ N-1 ×INCX if TRANS='N' and at least max1, 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 X1+i-1×INCX , for i=1,2,,N;
  • if INCX<0, xi must be stored in X1-N-i×INCX , for i=1,2,,N.
If TRANS='T' or 'C',
  • if INCX>0, xi must be stored in X1+i-1×INCX , for i=1,2,,M;
  • if INCX<0, xi must be stored in X1-M-i×INCX , for i=1,2,,M.
10:   INCX – INTEGERInput
On entry: the increment in the subscripts of X between successive elements of x.
Constraint: INCX0.
11:   BETA – COMPLEX (KIND=nag_wp)Input
On entry: the scalar β.
12:   Y* – COMPLEX (KIND=nag_wp) arrayInput/Output
Note: the dimension of the array Y must be at least max1,1+M-1 ×INCY if TRANS='N' and at least max1,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 Y1+i-1×INCY , for i=1,2,,M;
  • if INCY<0, yi must be stored in Y1-M-i×INCY , for i=1,2,,M.
If TRANS='T' or 'C',
  • if INCY>0, yi must be stored in Y1+i-1×INCY , for i=1,2,,N;
  • if INCY<0, yi must be stored in Y1-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.
13:   INCY – INTEGERInput
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

Not applicable.

9  Further Comments

None.

10  Example

None.

F06SBF (ZGBMV) (PDF version)
F06 Chapter Contents
F06 Chapter Introduction
NAG Library Manual

© The Numerical Algorithms Group Ltd, Oxford, UK. 2015