(C|Z)HBMV
=============
Single complex and double complex HBMV.

Description
-----------
Computes a hermitian banded matrix-vector product.

.. math::

    y \assign \alpha A * x + \beta y

BLAS Interface
--------------
.. code-block:: c

    void chbmv(const char *UPLO, const qml_long *N, const qml_long *K,
               const qml_single_complex *ALPHA, const qml_single_complex *A,
               const qml_long *LDA, const qml_single_complex *X,
               const qml_long *INCX, const qml_single_complex *BETA,
               qml_single_complex *Y, const qml_long *INCY);

    void zhbmv(const char *UPLO, const qml_long *N, const qml_long *K,
               const qml_double_complex *ALPHA, const qml_double_complex *A,
               const qml_long *LDA, const qml_double_complex *X,
               const qml_long *INCX, const qml_double_complex *BETA,
               qml_double_complex *Y, const qml_long *INCY);


CBLAS Interface
---------------
.. code-block:: c

    void cblas_chbmv(const CBLAS_ORDER ORDER, const CBLAS_UPLO UPLO, const qml_long N,
                     const qml_long K, const qml_single_complex *ALPHA,
                     const qml_single_complex *A, const qml_long LDA,
                     const qml_single_complex *X, const qml_long INCX,
                     const qml_single_complex *BETA, qml_single_complex *Y,
                     const qml_long INCY);

    void cblas_zhbmv(const CBLAS_ORDER ORDER, const CBLAS_UPLO UPLO, const qml_long N,
                     const qml_long K, const qml_double_complex *ALPHA,
                     const qml_double_complex *A, const qml_long LDA,
                     const qml_double_complex *X, const qml_long INCX,
                     const qml_double_complex *BETA, qml_double_complex *Y,
                     const qml_long INCY);


Arguments
---------
======   =====================================================================
UPLO     Specify whether the upper or lower triangle of matrix A will be used
N        Order of matrix A
K        Number of super-diagonals of A, with :math:`0 \le \fvar{K}`
ALPHA    Scalar multiplied with the matrix-vector product
A        Input matrix A
LDA      Leading dimension of matrix A, with :math:`\fvar{LDA} \ge \fvar{K}+1`
X        First input vector, must be at least: :math:`(\fvar{N}-1)\mult\abs{\fvar{INCX}} + 1`
INCX     Distance between individual elements in X
BETA     Scalar multiplied with vector Y
Y        Second vector, must be at least: :math:`(\fvar{N}-1)\mult\abs{\fvar{INCY}} + 1`
INCY     Distance between individual elements in Y
======   =====================================================================
