Class ImplSparseSparseMult_DSCC


  • public class ImplSparseSparseMult_DSCC
    extends java.lang.Object
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void addRowsInAInToC​(org.ejml.data.DMatrixSparseCSC A, int colA, org.ejml.data.DMatrixSparseCSC C, int colC, int[] w)
      Adds rows to C[*,colC] that are in A[*,colA] as long as they are marked in w.
      static double dotInnerColumns​(org.ejml.data.DMatrixSparseCSC A, int colA, org.ejml.data.DMatrixSparseCSC B, int colB, org.ejml.data.IGrowArray gw, org.ejml.data.DGrowArray gx)
      Computes the inner product of two column vectors taken from the input matrices.
      static void innerProductLower​(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixSparseCSC B, org.ejml.data.IGrowArray gw, org.ejml.data.DGrowArray gx)
      Computes the inner product of A times A and stores the results in B.
      static void mult​(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C)  
      static void mult​(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixSparseCSC B, org.ejml.data.DMatrixSparseCSC C, org.ejml.data.IGrowArray gw, org.ejml.data.DGrowArray gx)
      Performs matrix multiplication.
      static void multAdd​(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C)  
      static void multAddColA​(org.ejml.data.DMatrixSparseCSC A, int colA, double alpha, org.ejml.data.DMatrixSparseCSC C, int mark, double[] x, int[] w)
      Performs the performing operation x = x + A(:,i)*alpha
      static void multAddTransA​(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C)  
      static void multAddTransAB​(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C)  
      static void multAddTransB​(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C)  
      static void multTransA​(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C)  
      static void multTransA​(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixSparseCSC B, org.ejml.data.DMatrixSparseCSC C, org.ejml.data.IGrowArray gw, org.ejml.data.DGrowArray gx)
      Performs matrix multiplication.
      static void multTransAB​(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C)  
      static void multTransB​(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C)  
      static void multTransB​(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixSparseCSC B, org.ejml.data.DMatrixSparseCSC C, org.ejml.data.IGrowArray gw, org.ejml.data.DGrowArray gx)
      Performs matrix multiplication.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ImplSparseSparseMult_DSCC

        public ImplSparseSparseMult_DSCC()
    • Method Detail

      • mult

        public static void mult​(org.ejml.data.DMatrixSparseCSC A,
                                org.ejml.data.DMatrixSparseCSC B,
                                org.ejml.data.DMatrixSparseCSC C,
                                @Nullable
                                org.ejml.data.IGrowArray gw,
                                @Nullable
                                org.ejml.data.DGrowArray gx)
        Performs matrix multiplication. C = A*B
        Parameters:
        A - Matrix
        B - Matrix
        C - Storage for results. Data length is increased if increased if insufficient.
        gw - (Optional) Storage for internal workspace. Can be null.
        gx - (Optional) Storage for internal workspace. Can be null.
      • multTransA

        public static void multTransA​(org.ejml.data.DMatrixSparseCSC A,
                                      org.ejml.data.DMatrixSparseCSC B,
                                      org.ejml.data.DMatrixSparseCSC C,
                                      @Nullable
                                      org.ejml.data.IGrowArray gw,
                                      @Nullable
                                      org.ejml.data.DGrowArray gx)
        Performs matrix multiplication. C = AT*B
        Parameters:
        A - Matrix
        B - Matrix
        C - Storage for results. Data length is increased if increased if insufficient.
        gw - (Optional) Storage for internal workspace. Can be null.
        gx - (Optional) Storage for internal workspace. Can be null.
      • multTransB

        public static void multTransB​(org.ejml.data.DMatrixSparseCSC A,
                                      org.ejml.data.DMatrixSparseCSC B,
                                      org.ejml.data.DMatrixSparseCSC C,
                                      @Nullable
                                      org.ejml.data.IGrowArray gw,
                                      @Nullable
                                      org.ejml.data.DGrowArray gx)
        Performs matrix multiplication. C = A*BT
        Parameters:
        A - Matrix
        B - Matrix
        C - Storage for results. Data length is increased if increased if insufficient.
        gw - (Optional) Storage for internal workspace. Can be null.
        gx - (Optional) Storage for internal workspace. Can be null.
      • multAddColA

        public static void multAddColA​(org.ejml.data.DMatrixSparseCSC A,
                                       int colA,
                                       double alpha,
                                       org.ejml.data.DMatrixSparseCSC C,
                                       int mark,
                                       double[] x,
                                       int[] w)
        Performs the performing operation x = x + A(:,i)*alpha

        NOTE: This is the same as cs_scatter() in csparse.

      • addRowsInAInToC

        public static void addRowsInAInToC​(org.ejml.data.DMatrixSparseCSC A,
                                           int colA,
                                           org.ejml.data.DMatrixSparseCSC C,
                                           int colC,
                                           int[] w)
        Adds rows to C[*,colC] that are in A[*,colA] as long as they are marked in w. This is used to grow C and colC must be the last filled in column in C.

        NOTE: This is the same as cs_scatter if x is null.

        Parameters:
        A - Matrix
        colA - The column in A that is being examined
        C - Matrix
        colC - Column in C that rows in A are being added to.
        w - An array used to indicate if a row in A should be added to C. if w[i] < colC AND i is a row in A[*,colA] then it will be added.
      • mult

        public static void mult​(org.ejml.data.DMatrixSparseCSC A,
                                org.ejml.data.DMatrixRMaj B,
                                org.ejml.data.DMatrixRMaj C)
      • multAdd

        public static void multAdd​(org.ejml.data.DMatrixSparseCSC A,
                                   org.ejml.data.DMatrixRMaj B,
                                   org.ejml.data.DMatrixRMaj C)
      • multTransA

        public static void multTransA​(org.ejml.data.DMatrixSparseCSC A,
                                      org.ejml.data.DMatrixRMaj B,
                                      org.ejml.data.DMatrixRMaj C)
      • multAddTransA

        public static void multAddTransA​(org.ejml.data.DMatrixSparseCSC A,
                                         org.ejml.data.DMatrixRMaj B,
                                         org.ejml.data.DMatrixRMaj C)
      • multTransB

        public static void multTransB​(org.ejml.data.DMatrixSparseCSC A,
                                      org.ejml.data.DMatrixRMaj B,
                                      org.ejml.data.DMatrixRMaj C)
      • multAddTransB

        public static void multAddTransB​(org.ejml.data.DMatrixSparseCSC A,
                                         org.ejml.data.DMatrixRMaj B,
                                         org.ejml.data.DMatrixRMaj C)
      • multTransAB

        public static void multTransAB​(org.ejml.data.DMatrixSparseCSC A,
                                       org.ejml.data.DMatrixRMaj B,
                                       org.ejml.data.DMatrixRMaj C)
      • multAddTransAB

        public static void multAddTransAB​(org.ejml.data.DMatrixSparseCSC A,
                                          org.ejml.data.DMatrixRMaj B,
                                          org.ejml.data.DMatrixRMaj C)
      • dotInnerColumns

        public static double dotInnerColumns​(org.ejml.data.DMatrixSparseCSC A,
                                             int colA,
                                             org.ejml.data.DMatrixSparseCSC B,
                                             int colB,
                                             org.ejml.data.IGrowArray gw,
                                             org.ejml.data.DGrowArray gx)
        Computes the inner product of two column vectors taken from the input matrices.

        dot = A(:,colA)'*B(:,colB)

        Parameters:
        A - Matrix
        colA - Column in A
        B - Matrix
        colB - Column in B
        Returns:
        Dot product
      • innerProductLower

        public static void innerProductLower​(org.ejml.data.DMatrixSparseCSC A,
                                             org.ejml.data.DMatrixSparseCSC B,
                                             @Nullable
                                             org.ejml.data.IGrowArray gw,
                                             @Nullable
                                             org.ejml.data.DGrowArray gx)
        Computes the inner product of A times A and stores the results in B. The inner product is symmetric and this function will only store the lower triangle. If the full matrix is needed then.

        B = AT*A

        Parameters:
        A - (Input) Matrix
        B - (Output) Storage for output.
        gw - (Optional) Workspace
        gx - (Optional) Workspace