JCublasJava/src/main/java/jcuda/jcublas/JCublas.java
public static void cublasZtrmv(char uplo, char trans, char diag, int n, Pointer A, int lda, Pointer x, int incx)
    {
        cublasZtrmvNative(uplo, trans, diag, n, A, lda, x, incx);
        checkResultBLAS();
    }
public static void cublasZtrmv(char uplo, char trans, char diag, int n, Pointer A, int lda, Pointer x, int incx)
    {
        cublasZtrmvNative(uplo, trans, diag, n, A, lda, x, incx);
        checkResultBLAS();
    }
public static void cublasZtrmv ( char uplo , char trans , char diag , int n , Pointer A , int lda , Pointer x , int incx ) { cublasZtrmvNative ( uplo , trans , diag , n , A , lda , x , incx ) ; checkResultBLAS ( ) ; }
<pre>
void
cublasZtrmv (char uplo, char trans, char diag, int n, const cuDoubleComplex *A,
int lda, cuDoubleComplex *x, int incx);

performs one of the matrix-vector operations x = op(A) * x,
where op(A) = A, or op(A) = transpose(A) or op(A) = conjugate(transpose(A)).
x is an n-element double precision complex vector, and
A is an n x n, unit or non-unit, upper or lower, triangular matrix composed
of double precision complex elements.

Input
-----
uplo   specifies whether the matrix A is an upper or lower triangular
matrix. If uplo = 'U' or 'u', then A is an upper triangular matrix.
If uplo = 'L' or 'l', then A is a lower triangular matrix.
trans  specifies op(A). If trans = 'n' or 'N', op(A) = A. If trans = 't' or
'T', op(A) = transpose(A).  If trans = 'c' or 'C', op(A) =
conjugate(transpose(A)).
diag   specifies whether or not matrix A is unit triangular. If diag = 'U'
or 'u', A is assumed to be unit triangular. If diag = 'N' or 'n', A
is not assumed to be unit triangular.
n      specifies the number of rows and columns of the matrix A. n must be
at least zero.
A      double precision array of dimension (lda, n). If uplo = 'U' or 'u',
the leading n x n upper triangular part of the array A must contain
the upper triangular 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
matrix and the strictly upper triangular part of A is not referenced.
When diag = 'U' or 'u', the diagonal elements of A are not referenced
either, but are are assumed to be unity.
lda    is the leading dimension of A. It must be at least max (1, n).
x      double precision array of length at least (1 + (n - 1) * abs(incx) ).
On entry, x contains the source vector. On exit, x is overwritten
with the result vector.
incx   specifies the storage spacing for elements of x. incx must not be
zero.

Output
------
x      updated according to x = op(A) * x,

Reference: http://www.netlib.org/blas/ztrmv.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 incx == 0 or if n < 0
CUBLAS_STATUS_EXECUTION_FAILED if function failed to launch on GPU
</pre>
<pre > void cublasZtrmv ( char uplo char trans char diag int n const cuDoubleComplex * A int lda cuDoubleComplex * x int incx ) ;