Package org.ejml.sparse.csc.mult
Class ImplMultiplication_FSCC
java.lang.Object
org.ejml.sparse.csc.mult.ImplMultiplication_FSCC
@Generated("org.ejml.sparse.csc.mult.ImplMultiplication_DSCC")
public class ImplMultiplication_FSCC
extends Object
Implementation of single thread sparse matrix multiplication. Most functions should be
invoked through
CommonOps_FSCC. 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(FMatrixSparseCSC A, int colA, FMatrixSparseCSC C, int colC, int[] w) Adds rows to C[*,colC] that are in A[*,colA] as long as they are marked in w.static floatdotInnerColumns(FMatrixSparseCSC A, int colA, FMatrixSparseCSC B, int colB, @Nullable IGrowArray gw, @Nullable FGrowArray gx) Computes the inner product of two column vectors taken from the input matrices.static voidmult(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C) Invoke throughCommonOps_FSCCstatic voidmult(FMatrixSparseCSC A, FMatrixSparseCSC B, FMatrixSparseCSC C, @Nullable IGrowArray gw, @Nullable FGrowArray gx) Performs matrix multiplication.static voidmultAdd(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C) Invoke throughCommonOps_FSCCstatic voidmultAddColA(FMatrixSparseCSC A, int colA, float alpha, FMatrixSparseCSC C, int mark, float[] x, int[] w) Performs the operation x = x + A(:,i)*alphastatic voidmultAddTransA(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C, FGrowArray workArray) Invoke throughCommonOps_FSCCstatic voidInvoke throughCommonOps_FSCCstatic voidmultAddTransB(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C, FGrowArray workArray) Invoke throughCommonOps_FSCCstatic voidmultTransA(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C, FGrowArray workArray) Invoke throughCommonOps_FSCCstatic voidmultTransA(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C, FGrowArray workArray, FOperatorBinary op) Invoke throughCommonOps_FSCCstatic voidInvoke throughCommonOps_FSCCstatic voidmultTransB(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C, FGrowArray workArray) Invoke throughCommonOps_FSCC
-
Constructor Details
-
ImplMultiplication_FSCC
public ImplMultiplication_FSCC()
-
-
Method Details
-
mult
public static void mult(FMatrixSparseCSC A, FMatrixSparseCSC B, FMatrixSparseCSC C, @Nullable @Nullable IGrowArray gw, @Nullable @Nullable FGrowArray gx) Performs matrix multiplication. C = A*BInvoke through
CommonOps_FSCC- 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(FMatrixSparseCSC A, int colA, float alpha, FMatrixSparseCSC C, int mark, float[] 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(FMatrixSparseCSC A, int colA, FMatrixSparseCSC 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
Invoke through
CommonOps_FSCC -
multAdd
Invoke through
CommonOps_FSCC -
multTransA
public static void multTransA(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C, FGrowArray workArray) Invoke through
CommonOps_FSCC -
multAddTransA
public static void multAddTransA(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C, FGrowArray workArray) Invoke through
CommonOps_FSCC -
multTransA
public static void multTransA(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C, FGrowArray workArray, FOperatorBinary op) Invoke through
CommonOps_FSCC -
multTransB
public static void multTransB(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C, FGrowArray workArray) Invoke through
CommonOps_FSCC -
multAddTransB
public static void multAddTransB(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C, FGrowArray workArray) Invoke through
CommonOps_FSCC -
multTransAB
Invoke through
CommonOps_FSCC -
multAddTransAB
Invoke through
CommonOps_FSCC -
dotInnerColumns
public static float dotInnerColumns(FMatrixSparseCSC A, int colA, FMatrixSparseCSC B, int colB, @Nullable @Nullable IGrowArray gw, @Nullable @Nullable FGrowArray gx) Computes the inner product of two column vectors taken from the input matrices.dot = A(:,colA)'*B(:,colB)
Invoke through
CommonOps_FSCC- Parameters:
A- MatrixcolA- Column in AB- MatrixcolB- Column in B- Returns:
- Dot product
-