Function

# cblas_zgbmv(_:_:_:_:_:_:_:_:_:_:_:_:_:_:)

Scales a general band matrix, then multiplies by a vector, then adds a vector (double-precision complex).

## Parameters

`Order`

Specifies row-major (C) or column-major (Fortran) data ordering.

`TransA`

Specifies whether to use matrix A (`'N'` or `'n'`), the transpose of A (`'T'` or `'t'`), or the conjugate of A (`'C'` or `'c'`).

`M`

Number of rows in matrix A.

`N`

Number of columns in matrix A.

`KL`

Number of subdiagonals in matrix A.

`KU`

Number of superdiagonals in matrix A.

`alpha`

Scaling factor to multiply matrix `A` by.

`A`

Matrix `A`.

`lda`

Leading dimension of array containing matrix `A`. (Must be at least `KL+KU+1`.)

`X`

Vector `X`.

`incX`

Stride within `X`. For example, if `incX` is 7, every 7th element is used.

`beta`

Scaling factor to multiply vector Y by.

`Y`

Vector Y.

`incY`

Stride within `Y`. For example, if `incY` is 7, every 7th element is used.

## Discussion

Computes `alpha*A*x + beta*y`, `alpha*A'*x + beta*y`, or `alpha*conjg(A')*x + beta*y` depending on the value of `TransA`.

### Double-Precision Complex Matrix Functions

`func cblas_dzasum(Int32, UnsafeRawPointer!, Int32) -> Double`

Computes the sum of the absolute values of real and imaginary parts of elements in a vector (single-precision complex).

`func cblas_dznrm2(Int32, UnsafeRawPointer!, Int32) -> Double`

Computes the unitary norm of a vector (double-precision complex).

`func cblas_zdscal(Int32, Double, UnsafeMutableRawPointer!, Int32)`

Multiplies each element of a vector by a constant (double-precision complex).

`func cblas_zher(CBLAS_ORDER, CBLAS_UPLO, Int32, Double, UnsafeRawPointer!, Int32, UnsafeMutableRawPointer!, Int32)`

Adds the product of a scaling factor, vector `X`, and the conjugate transpose of `X` to matrix `A`.

`func cblas_zher2(CBLAS_ORDER, CBLAS_UPLO, Int32, UnsafeRawPointer!, UnsafeRawPointer!, Int32, UnsafeRawPointer!, Int32, UnsafeMutableRawPointer!, Int32)`

Hermitian rank 2 update: adds the product of a scaling factor, vector `X`, and the conjugate transpose of vector `Y` to the product of the conjugate of the scaling factor, vector `Y`, and the conjugate transpose of vector `X`, and adds the result to matrix `A`.

`func cblas_zhpr(CBLAS_ORDER, CBLAS_UPLO, Int32, Double, UnsafeRawPointer!, Int32, UnsafeMutableRawPointer!)`

Scales and multiplies a vector times its conjugate transpose, then adds a matrix.

`func cblas_zhpr2(CBLAS_ORDER, CBLAS_UPLO, Int32, UnsafeRawPointer!, UnsafeRawPointer!, Int32, UnsafeRawPointer!, Int32, UnsafeMutableRawPointer!)`

Multiplies a vector times the conjugate transpose of a second vector and vice-versa, sums the results, and adds a matrix.

`func cblas_zscal(Int32, UnsafeRawPointer!, UnsafeMutableRawPointer!, Int32)`

Multiplies each element of a vector by a constant (double-precision complex).