@Override
    public void syr2k(char Order, char Uplo, char Trans, IComplexNumber alpha, IComplexNDArray A, IComplexNDArray B,
                    IComplexNumber beta, IComplexNDArray C) {
    """
	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
    """

        // 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));

    }
@ 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
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 .