XLPack 7.0
XLPack Numerical Library (C API) Reference Manual
Loading...
Searching...
No Matches

◆ zhbmv()

void zhbmv ( char  uplo,
int  n,
int  k,
doublecomplex  alpha,
int  ldab,
doublecomplex  ab[],
doublecomplex  x[],
int  incx,
doublecomplex  beta,
doublecomplex  y[],
int  incy 
)

y <- αAx + βy (Hermitian band matrices) (BLAS 2)

Purpose
This routine performs the matrix-vector operation
y <- alpha*A*x + beta*y
double beta(double a, double b)
Beta function B(a, b)
Definition beta.cpp:79
where alpha and beta are scalars, x and y are vectors and A is an n x n Hermitian band matrix, with k super/sub-diagonals.
Parameters
[in]uploSpecifies whether the upper or lower triangular part of the band matrix A is being supplied as follows:
= 'U': The upper triangular part of A is being supplied.
= 'L': The lower triangular part of A is being supplied.
[in]nOrder of the matrix A. (n >= 0) (If n = 0, returns without computation)
[in]kNumber of super/sub-diagonals of the matrix A. (k >= 0)
[in]alphaScalar alpha.
[in]ldabLeading dimension of the two dimensional array ab[][]. (ldab >= k + 1)
[in]ab[][]Array ab[lab][ldab] (lab >= n)
n x n Hermitian band matrix A in k+1 x n symmetric band matrix form. According to uplo, upper or lower triangular part is to be supplied. The imaginary parts of the diagonal elements need not be set and are assumed to be zero.
[in]x[]Array x[lx] (lx >= 1 + (n - 1)*abs(incx))
Input vector x.
[in]incxStorage spacing between elements of x. (incx != 0)
[in]betaScalar beta. When beta is supplied as zero then y[] need not be set on input.
[in,out]y[]Array y[ly] (ly >= 1 + (n - 1)*abs(incy))
[in] Input vector y.
[out] Output vector. (= alpha*A*x + beta*y)
[in]incyStorage spacing between elements of y. (incy != 0)
Reference
BLAS