Class CommonOps_MT_DSCC

java.lang.Object
org.ejml.sparse.csc.CommonOps_MT_DSCC

public class CommonOps_MT_DSCC extends Object
Concurrent implementations of functions found in CommonOps_DSCC.
  • Method Details

    • mult

      public static DMatrixSparseCSC mult(DMatrixSparseCSC A, DMatrixSparseCSC B, @Nullable @Nullable DMatrixSparseCSC outputC)
      Matrix multiplication C = A*B. Handles optional data structures requires by mult(DMatrixSparseCSC, DMatrixSparseCSC, DMatrixSparseCSC, GrowArray).
      Parameters:
      A - (Input) Sparse matrix. Not modified.
      B - (Input) Sparse matrix. Not modified.
      outputC - (Output) Storage for results. If null a new instance is returned.
      Returns:
      Results of matrix multiplication, the 'C' matrix
    • mult

      public static DMatrixSparseCSC mult(DMatrixSparseCSC A, DMatrixSparseCSC B, @Nullable @Nullable DMatrixSparseCSC outputC, @Nullable @Nullable GrowArray<Workspace_MT_DSCC> workspace)
      Performs matrix multiplication. C = A*B. Concurrency workspace is about the same size as the resulting "output" matrix.
      Parameters:
      A - (Input) Sparse matrix. Not modified.
      B - (Input) Sparse matrix. Not modified.
      outputC - (Output) Storage for results. If null a new instance is returned.
      workspace - (Optional) Storage for internal workspace. Can be null.
      Returns:
      Results of matrix multiplication, the 'C' matrix
    • add

      public static DMatrixSparseCSC add(double alpha, DMatrixSparseCSC A, double beta, DMatrixSparseCSC B, @Nullable @Nullable DMatrixSparseCSC outputC, @Nullable @Nullable GrowArray<Workspace_MT_DSCC> workspace)
      Performs matrix addition:
      C = αA + βB
      Parameters:
      alpha - (Input) scalar value multiplied against A
      A - (Input) Sparse matrix. Not modified.
      beta - (Input) scalar value multiplied against B
      B - (Input) Sparse matrix. Not modified.
      outputC - (Output) Dense Matrix. If null a new instance is returned.
      workspace - (Optional) Storage for internal workspace. Can be null.
      Returns:
      Results of matrix multiplication, the 'C' matrix
    • mult

      public static DMatrixRMaj mult(DMatrixSparseCSC A, DMatrixRMaj B, @Nullable @Nullable DMatrixRMaj outputC, @Nullable @Nullable GrowArray<DGrowArray> workspace)
      Performs matrix multiplication. C = AT*B
      Parameters:
      A - (Input) Sparse Matrix. Not modified.
      B - (Input) Dense Matrix. Not modified.
      outputC - (Output) Dense Matrix. If null a new instance is returned.
      workspace - (Optional) Storage for internal workspace. Can be null.
      Returns:
      Results of matrix multiplication, the 'C' matrix
    • multAdd

      public static void multAdd(DMatrixSparseCSC A, DMatrixRMaj B, DMatrixRMaj outputC, @Nullable @Nullable GrowArray<DGrowArray> workspace)

      C = C + AT*B

      Parameters:
      A - (Input) Sparse Matrix. Not modified.
      B - (Input) Dense Matrix. Not modified.
      outputC - (Output) Dense Matrix.
    • multTransA

      public static DMatrixRMaj multTransA(DMatrixSparseCSC A, DMatrixRMaj B, @Nullable @Nullable DMatrixRMaj outputC, @Nullable @Nullable GrowArray<DGrowArray> workspace)
      Performs matrix multiplication. C = AT*B
      Parameters:
      A - (Input) Sparse Matrix. Not modified.
      B - (Input) Dense Matrix. Not modified.
      outputC - (Output) Dense Matrix. If null a new instance is returned.
      workspace - (Optional) Storage for internal workspace. Can be null.
      Returns:
      Results of matrix multiplication, the 'C' matrix
    • multAddTransA

      public static void multAddTransA(DMatrixSparseCSC A, DMatrixRMaj B, DMatrixRMaj outputC, @Nullable @Nullable GrowArray<DGrowArray> workspace)

      C = C + AT*B

      Parameters:
      A - (Input) Sparse Matrix. Not modified.
      B - (Input) Dense Matrix. Not modified.
      outputC - (Output) Dense Matrix.
      workspace - (Optional) Storage for internal workspace. Can be null.
    • multTransB

      public static DMatrixRMaj multTransB(DMatrixSparseCSC A, DMatrixRMaj B, @Nullable @Nullable DMatrixRMaj outputC, @Nullable @Nullable GrowArray<DGrowArray> workspace)
      Performs matrix multiplication. C = A*BT
      Parameters:
      A - (Input) Sparse Matrix. Not modified.
      B - (Input) Dense Matrix. Not modified.
      outputC - (Output) Dense Matrix. If null a new instance is returned.
      workspace - (Optional) Storage for internal workspace. Can be null.
      Returns:
      Results of matrix multiplication, the 'C' matrix
    • multAddTransB

      public static void multAddTransB(DMatrixSparseCSC A, DMatrixRMaj B, DMatrixRMaj outputC, @Nullable @Nullable GrowArray<DGrowArray> workspace)

      C = C + A*BT

      Parameters:
      A - (Input) Sparse Matrix. Not modified.
      B - (Input) Dense Matrix. Not modified.
      outputC - (Output) Dense Matrix.
      workspace - (Optional) Storage for internal workspace. Can be null.
    • multTransAB

      public static DMatrixRMaj multTransAB(DMatrixSparseCSC A, DMatrixRMaj B, DMatrixRMaj outputC)
      Performs matrix multiplication. C = AT*BT
      Parameters:
      A - (Input) Sparse Matrix. Not modified.
      B - (Input) Dense Matrix. Not modified.
      outputC - (Output) Dense Matrix.
      Returns:
      Results of matrix multiplication, the 'C' matrix
    • multAddTransAB

      public static void multAddTransAB(DMatrixSparseCSC A, DMatrixRMaj B, DMatrixRMaj outputC)

      C = C + AT*BT

      Parameters:
      A - (Input) Sparse Matrix. Not modified.
      B - (Input) Dense Matrix. Not modified.
      outputC - (Output) Dense Matrix.