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

solves a system of equations op(A) * x = b, where op(A) is either A or
transpose(A). b and x are single precision vectors consisting of n
elements, and A is an n x n matrix composed of a unit or non-unit, upper
or lower triangular matrix. Matrix A is stored in column major format,
and lda is the leading dimension of the two-dimensional array containing
A.

No test for singularity or near-singularity is included in this function.
Such tests must be performed before calling this function.

Input
-----
uplo   specifies whether the matrix data is stored in the upper or the
lower triangular part of array A. If uplo = 'U' or 'u', then only
the upper triangular part of A may be referenced. If uplo = 'L' or
'l', then only the lower triangular part of A may be referenced.
trans  specifies op(A). If transa = 'n' or 'N', op(A) = A. If transa = 't',
'T', 'c', or 'C', op(A) = transpose(A)
diag   specifies whether or not A is a unit triangular matrix like so:
if diag = 'U' or 'u', A is assumed to be unit triangular. If
diag = 'N' or 'n', then A is not assumed to be unit triangular.
n      specifies the number of rows and columns of the matrix A. It
must be at least 0.
A      is a single precision array of dimensions (lda, n). If uplo = 'U'
or 'u', then A must contains the upper triangular part of a symmetric
matrix, and the strictly lower triangular parts is not referenced.
If uplo = 'L' or 'l', then A contains the lower triangular part of
a symmetric matrix, and the strictly upper triangular part is not
referenced.
lda    is the leading dimension of the two-dimensional array containing A.
lda must be at least max(1, n).
x      single precision array of length at least (1 + (n - 1) * abs(incx)).
On entry, x contains the n element right-hand side vector b. On exit,
it is overwritten with the solution vector x.
incx   specifies the storage spacing between elements of x. incx must not
be zero.

Output
------
x      updated to contain the solution vector x that solves op(A) * x = b.

Reference: http://www.netlib.org/blas/strsv.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>