JCublasJava/src/main/java/jcuda/jcublas/JCublas.java
public static void cublasDsyr(char uplo, int n, double alpha, Pointer x, int incx, Pointer A, int lda)
    {
        cublasDsyrNative(uplo, n, alpha, x, incx, A, lda);
        checkResultBLAS();
    }
public static void cublasDsyr(char uplo, int n, double alpha, Pointer x, int incx, Pointer A, int lda)
    {
        cublasDsyrNative(uplo, n, alpha, x, incx, A, lda);
        checkResultBLAS();
    }
public static void cublasDsyr ( char uplo , int n , double alpha , Pointer x , int incx , Pointer A , int lda ) { cublasDsyrNative ( uplo , n , alpha , x , incx , A , lda ) ; checkResultBLAS ( ) ; }
<pre>
void
cublasDsyr (char uplo, int n, double alpha, const double *x, int incx,
double *A, int lda)

performs the symmetric rank 1 operation

A = alpha * x * transpose(x) + A,

where alpha is a double precision scalar, x is an n element double
precision vector and A is an n x n symmetric matrix consisting of
double precision elements. Matrix A is stored in column major format,
and lda is the leading dimension of the two-dimensional array
containing A.

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.
n      specifies the number of rows and columns of the matrix A. It
must be at least 0.
alpha  double precision scalar multiplier applied to x * transpose(x)
x      double precision array of length at least (1 + (n - 1) * abs(incx))
incx   specifies the storage spacing between elements of x. incx must
not be zero.
A      double precision array of dimensions (lda, n). If uplo = 'U' or
'u', then A must contain the upper triangular part of a symmetric
matrix, and the strictly lower triangular part 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    leading dimension of the two-dimensional array containing A. lda
must be at least max(1, n).

Output
------
A      updated according to A = alpha * x * transpose(x) + A

Reference: http://www.netlib.org/blas/dsyr.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 incx == 0
CUBLAS_STATUS_ARCH_MISMATCH    if invoked on device without DP support
CUBLAS_STATUS_EXECUTION_FAILED if function failed to launch on GPU
</pre>
<pre > void cublasDsyr ( char uplo int n double alpha const double * x int incx double * A int lda )