Class BaseLevel3

  • All Implemented Interfaces:
    Level3

    public abstract class BaseLevel3
    extends BaseLevel
    implements Level3
    • Constructor Summary

      Constructors 
      Constructor Description
      BaseLevel3()  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      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)  
      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)  
      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)  
      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)  
      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)  
      protected abstract void dtrsm​(char Order, char Side, char Uplo, char TransA, char Diag, int M, int N, double alpha, INDArray A, int lda, INDArray B, int ldb)  
      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.
      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.
      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)  
      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)  
      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)  
      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)  
      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)  
      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)  
      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)  
      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'.
      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'.
      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'.
      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'.
      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'.
    • Constructor Detail

      • BaseLevel3

        public BaseLevel3()
    • 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.
        Specified by:
        gemm in interface Level3
        Parameters:
        Order -
        TransA -
        TransB -
        alpha -
        A -
        B -
        beta -
        C -
      • 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
        Specified by:
        gemm in interface Level3
      • 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'.
        Specified by:
        symm in interface Level3
        Parameters:
        Order -
        Side -
        Uplo -
        alpha -
        A -
        B -
        beta -
        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'.
        Specified by:
        syrk in interface Level3
        Parameters:
        Order -
        Uplo -
        Trans -
        alpha -
        A -
        beta -
        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'.
        Specified by:
        syr2k in interface Level3
        Parameters:
        Order -
        Uplo -
        Trans -
        alpha -
        A -
        B -
        beta -
        C -
      • 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'.
        Specified by:
        trmm in interface Level3
        Parameters:
        Order -
        Side -
        Uplo -
        TransA -
        Diag -
        alpha -
        A -
        B -
        C -
      • 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.
        Specified by:
        trsm in interface Level3
        Parameters:
        Order -
        Side -
        Uplo -
        TransA -
        Diag -
        alpha -
        A -
        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)
      • dtrsm

        protected abstract void dtrsm​(char Order,
                                      char Side,
                                      char Uplo,
                                      char TransA,
                                      char Diag,
                                      int M,
                                      int N,
                                      double alpha,
                                      INDArray A,
                                      int lda,
                                      INDArray B,
                                      int ldb)