Package org.nd4j.linalg.api.blas.impl
Class BaseLevel3
- java.lang.Object
-
- org.nd4j.linalg.api.blas.impl.BaseLevel
-
- org.nd4j.linalg.api.blas.impl.BaseLevel3
-
-
Constructor Summary
Constructors Constructor Description BaseLevel3()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract voiddgemm(char Order, char TransA, char TransB, int M, int N, int K, double alpha, INDArray A, int lda, INDArray B, int ldb, double beta, INDArray C, int ldc)protected abstract voiddsymm(char Order, char Side, char Uplo, int M, int N, double alpha, INDArray A, int lda, INDArray B, int ldb, double beta, INDArray C, int ldc)protected abstract voiddsyr2k(char Order, char Uplo, char Trans, int N, int K, double alpha, INDArray A, int lda, INDArray B, int ldb, double beta, INDArray C, int ldc)protected abstract voiddsyrk(char Order, char Uplo, char Trans, int N, int K, double alpha, INDArray A, int lda, double beta, INDArray C, int ldc)protected abstract voiddtrmm(char Order, char Side, char Uplo, char TransA, char Diag, int M, int N, double alpha, INDArray A, int lda, INDArray B, int ldb)protected abstract voiddtrsm(char Order, char Side, char Uplo, char TransA, char Diag, int M, int N, double alpha, INDArray A, int lda, INDArray B, int ldb)voidgemm(char Order, char TransA, char TransB, double alpha, INDArray A, INDArray B, double beta, INDArray C)gemm performs a matrix-matrix operation c := alpha*op(a)*op(b) + beta*c, where c is an m-by-n matrix, op(a) is an m-by-k matrix, op(b) is a k-by-n matrix.voidgemm(INDArray A, INDArray B, INDArray C, boolean transposeA, boolean transposeB, double alpha, double beta)A convenience method for matrix-matrix operations with transposes.protected abstract voidhgemm(char Order, char TransA, char TransB, int M, int N, int K, float alpha, INDArray A, int lda, INDArray B, int ldb, float beta, INDArray C, int ldc)protected abstract voidsgemm(char Order, char TransA, char TransB, int M, int N, int K, float alpha, INDArray A, int lda, INDArray B, int ldb, float beta, INDArray C, int ldc)protected abstract voidssymm(char Order, char Side, char Uplo, int M, int N, float alpha, INDArray A, int lda, INDArray B, int ldb, float beta, INDArray C, int ldc)protected abstract voidssyr2k(char Order, char Uplo, char Trans, int N, int K, float alpha, INDArray A, int lda, INDArray B, int ldb, float beta, INDArray C, int ldc)protected abstract voidssyrk(char Order, char Uplo, char Trans, int N, int K, float alpha, INDArray A, int lda, float beta, INDArray C, int ldc)protected abstract voidstrmm(char Order, char Side, char Uplo, char TransA, char Diag, int M, int N, float alpha, INDArray A, int lda, INDArray B, int ldb)protected abstract voidstrsm(char Order, char Side, char Uplo, char TransA, char Diag, int M, int N, float alpha, INDArray A, int lda, INDArray B, int ldb)voidsymm(char Order, char Side, char Uplo, double alpha, INDArray A, INDArray B, double beta, INDArray C)her2k performs a rank-2k update of an n-by-n Hermitian matrix c, that is, one of the following operations: c := alpha*a*conjg(b') + conjg(alpha)*b*conjg(a') + beta*c, for trans = 'N'or'n' c := alpha*conjg(b')*a + conjg(alpha)*conjg(a')*b + beta*c, for trans = 'C'or'c' where c is an n-by-n Hermitian matrix; a and b are n-by-k matrices if trans = 'N'or'n', a and b are k-by-n matrices if trans = 'C'or'c'.voidsyr2k(char Order, char Uplo, char Trans, double alpha, INDArray A, INDArray B, double beta, INDArray 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'.voidsyrk(char Order, char Uplo, char Trans, double alpha, INDArray A, double beta, INDArray C)syrk performs a rank-n update of an n-by-n symmetric matrix c, that is, one of the following operations: c := alpha*a*a' + beta*c for trans = 'N'or'n' c := alpha*a'*a + beta*c for trans = 'T'or't','C'or'c', where c is an n-by-n symmetric matrix; a is an n-by-k matrix, if trans = 'N'or'n', a is a k-by-n matrix, if trans = 'T'or't','C'or'c'.voidtrmm(char Order, char Side, char Uplo, char TransA, char Diag, double alpha, INDArray A, INDArray B, INDArray C)syr2k 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'.voidtrsm(char Order, char Side, char Uplo, char TransA, char Diag, double alpha, INDArray A, INDArray B)?trsm solves one of the following matrix equations: op(a)*x = alpha*b or x*op(a) = alpha*b, where x and b are m-by-n general matrices, and a is triangular; op(a) must be an m-by-m matrix, if side = 'L'or'l' op(a) must be an n-by-n matrix, if side = 'R'or'r'.
-
-
-
Method Detail
-
gemm
public void gemm(char Order, char TransA, char TransB, double alpha, INDArray A, INDArray B, double beta, INDArray C)gemm performs a matrix-matrix operation c := alpha*op(a)*op(b) + beta*c, where c is an m-by-n matrix, op(a) is an m-by-k matrix, op(b) is a k-by-n matrix.
-
gemm
public void gemm(INDArray A, INDArray B, INDArray C, boolean transposeA, boolean transposeB, double alpha, double beta)
A convenience method for matrix-matrix operations with transposes. Implements C = alpha*op(A)*op(B) + beta*C Matrices A and B can be any order and offset (though will have copy overhead if elements are not contiguous in buffer) but matrix C MUST be f order, 0 offset and have length == data.length
-
symm
public void symm(char Order, char Side, char Uplo, double alpha, INDArray A, INDArray B, double beta, INDArray C)her2k performs a rank-2k update of an n-by-n Hermitian matrix c, that is, one of the following operations: c := alpha*a*conjg(b') + conjg(alpha)*b*conjg(a') + beta*c, for trans = 'N'or'n' c := alpha*conjg(b')*a + conjg(alpha)*conjg(a')*b + beta*c, for trans = 'C'or'c' where c is an n-by-n Hermitian matrix; a and b are n-by-k matrices if trans = 'N'or'n', a and b are k-by-n matrices if trans = 'C'or'c'.
-
syrk
public void syrk(char Order, char Uplo, char Trans, double alpha, INDArray A, double beta, INDArray C)syrk performs a rank-n update of an n-by-n symmetric matrix c, that is, one of the following operations: c := alpha*a*a' + beta*c for trans = 'N'or'n' c := alpha*a'*a + beta*c for trans = 'T'or't','C'or'c', where c is an n-by-n symmetric matrix; a is an n-by-k matrix, if trans = 'N'or'n', a is a k-by-n matrix, if trans = 'T'or't','C'or'c'.
-
syr2k
public void syr2k(char Order, char Uplo, char Trans, double alpha, INDArray A, INDArray B, double beta, INDArray 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'.
-
trmm
public void trmm(char Order, char Side, char Uplo, char TransA, char Diag, double alpha, INDArray A, INDArray B, INDArray C)syr2k 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'.
-
trsm
public void trsm(char Order, char Side, char Uplo, char TransA, char Diag, double alpha, INDArray A, INDArray B)?trsm solves one of the following matrix equations: op(a)*x = alpha*b or x*op(a) = alpha*b, where x and b are m-by-n general matrices, and a is triangular; op(a) must be an m-by-m matrix, if side = 'L'or'l' op(a) must be an n-by-n matrix, if side = 'R'or'r'. For the definition of op(a), see Matrix Arguments. The routine overwrites x on b.
-
hgemm
protected abstract void hgemm(char Order, char TransA, char TransB, int M, int N, int K, float alpha, INDArray A, int lda, INDArray B, int ldb, float beta, INDArray C, int ldc)
-
sgemm
protected abstract void sgemm(char Order, char TransA, char TransB, int M, int N, int K, float alpha, INDArray A, int lda, INDArray B, int ldb, float beta, INDArray C, int ldc)
-
ssymm
protected abstract void ssymm(char Order, char Side, char Uplo, int M, int N, float alpha, INDArray A, int lda, INDArray B, int ldb, float beta, INDArray C, int ldc)
-
ssyrk
protected abstract void ssyrk(char Order, char Uplo, char Trans, int N, int K, float alpha, INDArray A, int lda, float beta, INDArray C, int ldc)
-
ssyr2k
protected abstract void ssyr2k(char Order, char Uplo, char Trans, int N, int K, float alpha, INDArray A, int lda, INDArray B, int ldb, float beta, INDArray C, int ldc)
-
strmm
protected abstract void strmm(char Order, char Side, char Uplo, char TransA, char Diag, int M, int N, float alpha, INDArray A, int lda, INDArray B, int ldb)
-
strsm
protected abstract void strsm(char Order, char Side, char Uplo, char TransA, char Diag, int M, int N, float alpha, INDArray A, int lda, INDArray B, int ldb)
-
dgemm
protected abstract void dgemm(char Order, char TransA, char TransB, int M, int N, int K, double alpha, INDArray A, int lda, INDArray B, int ldb, double beta, INDArray C, int ldc)
-
dsymm
protected abstract void dsymm(char Order, char Side, char Uplo, int M, int N, double alpha, INDArray A, int lda, INDArray B, int ldb, double beta, INDArray C, int ldc)
-
dsyrk
protected abstract void dsyrk(char Order, char Uplo, char Trans, int N, int K, double alpha, INDArray A, int lda, double beta, INDArray C, int ldc)
-
dsyr2k
protected abstract void dsyr2k(char Order, char Uplo, char Trans, int N, int K, double alpha, INDArray A, int lda, INDArray B, int ldb, double beta, INDArray C, int ldc)
-
dtrmm
protected abstract void dtrmm(char Order, char Side, char Uplo, char TransA, char Diag, int M, int N, double alpha, INDArray A, int lda, INDArray B, int ldb)
-
-