NAG FL Interface
f06sdf (zhbmv)

1 Purpose

f06sdf computes the matrix-vector product for a complex Hermitian band matrix.

2 Specification

Fortran Interface
Subroutine f06sdf ( uplo, n, k, alpha, a, lda, x, incx, beta, y, incy)
Integer, Intent (In) :: n, k, lda, incx, incy
Complex (Kind=nag_wp), Intent (In) :: alpha, a(lda,*), x(*), beta
Complex (Kind=nag_wp), Intent (Inout) :: y(*)
Character (1), Intent (In) :: uplo
C Header Interface
#include <nag.h>
void  f06sdf_ (const char *uplo, const Integer *n, const Integer *k, const Complex *alpha, const Complex a[], const Integer *lda, const Complex x[], const Integer *incx, const Complex *beta, Complex y[], const Integer *incy, const Charlen length_uplo)
The routine may be called by the names f06sdf, nagf_blas_zhbmv or its BLAS name zhbmv.

3 Description

f06sdf performs the matrix-vector operation
yαAx+βy ,  
where A is an n by n complex Hermitian band matrix with k subdiagonals and k superdiagonals, x and y are n-element complex vectors, and α and β are complex scalars.

4 References

None.

5 Arguments

1: uplo Character(1) Input
On entry: specifies whether the upper or lower triangular part of A is stored.
uplo='U'
The upper triangular part of A is stored.
uplo='L'
The lower triangular part of A is stored.
Constraint: uplo='U' or 'L'.
2: n Integer Input
On entry: n, the order of the matrix A.
Constraint: n0.
3: k Integer Input
On entry: k, the number of subdiagonals or superdiagonals of the matrix A.
Constraint: k0.
4: alpha Complex (Kind=nag_wp) Input
On entry: the scalar α.
5: alda* Complex (Kind=nag_wp) array Input
Note: the second dimension of the array a must be at least n.
On entry: the n by n Hermitian band matrix A.
The matrix is stored in rows 1 to k+1, more precisely,
  • if uplo='U', the elements of the upper triangle of A within the band must be stored with element Aij in ak+1+i-jj​ for ​max1,j-kij;
  • if uplo='L', the elements of the lower triangle of A within the band must be stored with element Aij in a1+i-jj​ for ​jiminn,j+k.
6: lda Integer Input
On entry: the first dimension of the array a as declared in the (sub)program from which f06sdf is called.
Constraint: ldak+1.
7: x* Complex (Kind=nag_wp) array Input
Note: the dimension of the array x must be at least max1, 1+n-1 ×incx .
On entry: the n-element vector x.
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.
Intermediate elements of x are not referenced.
8: incx Integer Input
On entry: the increment in the subscripts of x between successive elements of x.
Constraint: incx0.
9: beta Complex (Kind=nag_wp) Input
On entry: the scalar β.
10: y* Complex (Kind=nag_wp) array Input/Output
Note: the dimension of the array y must be at least max1, 1+n-1 ×incy .
On entry: the n-element vector y, if beta=0, y need not be set.
If incy>0, yi must be stored in y1+i1×incy , for i=1,2,,n.
If incy<0, yi must be stored in y1ni×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

f06sdf is not threaded in any implementation.

9 Further Comments

None.

10 Example

None.