Package org.ejml.sparse.csc.mult
Class ImplMultiplication_DSCC
java.lang.Object
org.ejml.sparse.csc.mult.ImplMultiplication_DSCC
Implementation of single thread sparse matrix multiplication. Most functions should be
invoked through
CommonOps_DSCC. This code is focused on the implementation and does not
check the contract or properly initialize input data structures.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidaddRowsInAInToC(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 doubledotInnerColumns(org.ejml.data.DMatrixSparseCSC A, int colA, org.ejml.data.DMatrixSparseCSC B, int colB, @Nullable org.ejml.data.IGrowArray gw, @Nullable org.ejml.data.DGrowArray gx) Computes the inner product of two column vectors taken from the input matrices.static voidmult(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C) Invoke throughCommonOps_DSCCstatic voidmult(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.static voidmultAdd(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C) Invoke throughCommonOps_DSCCstatic voidmultAddColA(org.ejml.data.DMatrixSparseCSC A, int colA, double alpha, org.ejml.data.DMatrixSparseCSC C, int mark, double[] x, int[] w) Performs the operation x = x + A(:,i)*alphastatic voidmultAddTransA(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C, org.ejml.data.DGrowArray workArray) Invoke throughCommonOps_DSCCstatic voidmultAddTransAB(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C) Invoke throughCommonOps_DSCCstatic voidmultAddTransB(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C, org.ejml.data.DGrowArray workArray) Invoke throughCommonOps_DSCCstatic voidmultTransA(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C, org.ejml.data.DGrowArray workArray) Invoke throughCommonOps_DSCCstatic voidmultTransA(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C, org.ejml.data.DGrowArray workArray, org.ejml.ops.DOperatorBinary op) Invoke throughCommonOps_DSCCstatic voidmultTransAB(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C) Invoke throughCommonOps_DSCCstatic voidmultTransB(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C, org.ejml.data.DGrowArray workArray) Invoke throughCommonOps_DSCC
-
Constructor Details
-
ImplMultiplication_DSCC
public ImplMultiplication_DSCC()
-
-
Method Details
-
mult
public static void mult(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixSparseCSC B, org.ejml.data.DMatrixSparseCSC C, @Nullable @Nullable org.ejml.data.IGrowArray gw, @Nullable @Nullable org.ejml.data.DGrowArray gx) Performs matrix multiplication. C = A*BInvoke through
CommonOps_DSCC- Parameters:
A- MatrixB- MatrixC- Storage for results. Array size is increased if needed.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 operation x = x + A(:,i)*alphaNOTE: 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- MatrixcolA- The column in A that is being examinedC- MatrixcolC- 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) Invoke through
CommonOps_DSCC -
multAdd
public static void multAdd(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C) Invoke through
CommonOps_DSCC -
multTransA
public static void multTransA(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C, org.ejml.data.DGrowArray workArray) Invoke through
CommonOps_DSCC -
multAddTransA
public static void multAddTransA(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C, org.ejml.data.DGrowArray workArray) Invoke through
CommonOps_DSCC -
multTransA
public static void multTransA(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C, org.ejml.data.DGrowArray workArray, org.ejml.ops.DOperatorBinary op) Invoke through
CommonOps_DSCC -
multTransB
public static void multTransB(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C, org.ejml.data.DGrowArray workArray) Invoke through
CommonOps_DSCC -
multAddTransB
public static void multAddTransB(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C, org.ejml.data.DGrowArray workArray) Invoke through
CommonOps_DSCC -
multTransAB
public static void multTransAB(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C) Invoke through
CommonOps_DSCC -
multAddTransAB
public static void multAddTransAB(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C) Invoke through
CommonOps_DSCC -
dotInnerColumns
public static double dotInnerColumns(org.ejml.data.DMatrixSparseCSC A, int colA, org.ejml.data.DMatrixSparseCSC B, int colB, @Nullable @Nullable org.ejml.data.IGrowArray gw, @Nullable @Nullable org.ejml.data.DGrowArray gx) Computes the inner product of two column vectors taken from the input matrices.dot = A(:,colA)'*B(:,colB)
Invoke through
CommonOps_DSCC- Parameters:
A- MatrixcolA- Column in AB- MatrixcolB- Column in B- Returns:
- Dot product
-