nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/linalg/api/blas/impl/BaseLevel3.java
@Override
    public void syr2k(char Order, char Uplo, char Trans, IComplexNumber alpha, IComplexNDArray A, IComplexNDArray B,
                    IComplexNumber beta, IComplexNDArray C) {

        // FIXME: int cast

        if (A.data().dataType() == DataBuffer.Type.DOUBLE)
            zsyr2k(Order, Uplo, Trans, (int) A.rows(), (int) A.columns(), alpha.asDouble(), A, (int) A.size(0), B, (int) B.size(0), beta.asDouble(), C, (int) C.size(0));
        else
            csyr2k(Order, Uplo, Trans, (int) A.rows(), (int) A.columns(), alpha.asFloat(), A, (int) A.size(0), B, (int) B.size(0), beta.asFloat(), C, (int) C.size(0));

    }
@Override
    public void syr2k(char Order, char Uplo, char Trans, IComplexNumber alpha, IComplexNDArray A, IComplexNDArray B,
                    IComplexNumber beta, IComplexNDArray C) {

        // FIXME: int cast

        if (A.data().dataType() == DataBuffer.Type.DOUBLE)
            zsyr2k(Order, Uplo, Trans, (int) A.rows(), (int) A.columns(), alpha.asDouble(), A, (int) A.size(0), B, (int) B.size(0), beta.asDouble(), C, (int) C.size(0));
        else
            csyr2k(Order, Uplo, Trans, (int) A.rows(), (int) A.columns(), alpha.asFloat(), A, (int) A.size(0), B, (int) B.size(0), beta.asFloat(), C, (int) C.size(0));

    }
yr2k performs a rank-2k update of an n-by-n symmetric matrix c, that is, one of the following operations:
c := alpha*a*b' + alpha*b*a' + beta*c  for trans = 'N'or'n'
c := alpha*a'*b + alpha*b'*a + beta*c  for trans = 'T'or't',
where c is an n-by-n symmetric matrix;
a and b are n-by-k matrices, if trans = 'N'or'n',
a and b are k-by-n matrices, if trans = 'T'or't'.
@param Order
@param Uplo
@param Trans
@param alpha
@param A
@param B
@param beta
@param C