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
-
Method Summary
Modifier and TypeMethodDescriptionstatic 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.static float
dotInnerColumns
(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 void
mult
(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C) Invoke throughCommonOps_FSCC
static void
mult
(FMatrixSparseCSC A, FMatrixSparseCSC B, FMatrixSparseCSC C, @Nullable IGrowArray gw, @Nullable FGrowArray gx) Performs matrix multiplication.static void
multAdd
(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C) Invoke throughCommonOps_FSCC
static void
multAddColA
(FMatrixSparseCSC A, int colA, float alpha, FMatrixSparseCSC C, int mark, float[] x, int[] w) Performs the operation x = x + A(:,i)*alphastatic void
multAddTransA
(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C, FGrowArray workArray) Invoke throughCommonOps_FSCC
static void
Invoke throughCommonOps_FSCC
static void
multAddTransB
(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C, FGrowArray workArray) Invoke throughCommonOps_FSCC
static void
multTransA
(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C, FGrowArray workArray) Invoke throughCommonOps_FSCC
static void
multTransA
(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj C, FGrowArray workArray, FOperatorBinary op) Invoke throughCommonOps_FSCC
static void
Invoke throughCommonOps_FSCC
static void
multTransB
(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
-