JCublasJava/src/main/java/jcuda/jcublas/JCublas.java
public static void cublasChemv(char uplo, int n, cuComplex alpha, Pointer A, int lda, Pointer x, int incx, cuComplex beta, Pointer y, int incy)
    {
        cublasChemvNative(uplo, n, alpha, A, lda, x, incx, beta, y, incy);
        checkResultBLAS();
    }
public static void cublasChemv(char uplo, int n, cuComplex alpha, Pointer A, int lda, Pointer x, int incx, cuComplex beta, Pointer y, int incy)
    {
        cublasChemvNative(uplo, n, alpha, A, lda, x, incx, beta, y, incy);
        checkResultBLAS();
    }
public static void cublasChemv ( char uplo , int n , cuComplex alpha , Pointer A , int lda , Pointer x , int incx , cuComplex beta , Pointer y , int incy ) { cublasChemvNative ( uplo , n , alpha , A , lda , x , incx , beta , y , incy ) ; checkResultBLAS ( ) ; }
<pre>
void
cublasChemv (char uplo, int n, cuComplex alpha, const cuComplex *A, int lda,
const cuComplex *x, int incx, cuComplex beta, cuComplex *y, int incy)

performs the matrix-vector operation

y = alpha*A*x + beta*y

Alpha and beta are single precision complex scalars, and x and y are single
precision complex vectors, each with n elements. A is a hermitian n x n matrix
consisting of single precision complex elements that is stored in either upper or
lower storage mode.

Input
-----
uplo   specifies whether the upper or lower triangular part of the array A
is to be referenced. If uplo == 'U' or 'u', the hermitian matrix A
is stored in upper storage mode, i.e. only the upper triangular part
of A is to be referenced while the lower triangular part of A is to
be inferred. If uplo == 'L' or 'l', the hermitian matrix A is stored
in lower storage mode, i.e. only the lower triangular part of A is
to be referenced while the upper triangular part of A is to be
inferred.
n      specifies the number of rows and the number of columns of the
hermitian matrix A. n must be at least zero.
alpha  single precision complex scalar multiplier applied to A*x.
A      single precision complex array of dimensions (lda, n). If uplo == 'U' or 'u',
the leading n x n upper triangular part of the array A must contain
the upper triangular part of the hermitian matrix and the strictly
lower triangular part of A is not referenced. If uplo == 'L' or 'l',
the leading n x n lower triangular part of the array A must contain
the lower triangular part of the hermitian matrix and the strictly
upper triangular part of A is not referenced. The imaginary parts
of the diagonal elements need not be set, they are assumed to be zero.
lda    leading dimension of A. It must be at least max (1, n).
x      single precision complex array of length at least (1 + (n - 1) * abs(incx)).
incx   storage spacing between elements of x. incx must not be zero.
beta   single precision complex scalar multiplier applied to vector y.
y      single precision complex array of length at least (1 + (n - 1) * abs(incy)).
If beta is zero, y is not read.
incy   storage spacing between elements of y. incy must not be zero.

Output
------
y      updated according to y = alpha*A*x + beta*y

Reference: http://www.netlib.org/blas/chemv.f

Error status for this function can be retrieved via cublasGetError().

Error Status
------------
CUBLAS_STATUS_NOT_INITIALIZED  if CUBLAS library has not been initialized
CUBLAS_STATUS_INVALID_VALUE    if n < 0, or if incx or incy == 0
CUBLAS_STATUS_EXECUTION_FAILED if function failed to launch on GPU
</pre>
<pre > void cublasChemv ( char uplo int n cuComplex alpha const cuComplex * A int lda const cuComplex * x int incx cuComplex beta cuComplex * y int incy )