Package org.ejml.sparse.csc
Class CommonOps_MT_FSCC
java.lang.Object
org.ejml.sparse.csc.CommonOps_MT_FSCC
Concurrent implementations of functions found in
CommonOps_FSCC.-
Method Summary
Modifier and TypeMethodDescriptionstatic FMatrixSparseCSCadd(float alpha, FMatrixSparseCSC A, float beta, FMatrixSparseCSC B, @Nullable FMatrixSparseCSC outputC, @Nullable GrowArray<Workspace_MT_FSCC> workspace) Performs matrix addition:
C = αA + βBstatic FMatrixRMajmult(FMatrixSparseCSC A, FMatrixRMaj B, @Nullable FMatrixRMaj outputC, @Nullable GrowArray<FGrowArray> workspace) Performs matrix multiplication.static FMatrixSparseCSCmult(FMatrixSparseCSC A, FMatrixSparseCSC B, @Nullable FMatrixSparseCSC outputC) Matrix multiplication C = A*B.static FMatrixSparseCSCmult(FMatrixSparseCSC A, FMatrixSparseCSC B, @Nullable FMatrixSparseCSC outputC, @Nullable GrowArray<Workspace_MT_FSCC> workspace) Performs matrix multiplication.static voidmultAdd(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj outputC, @Nullable GrowArray<FGrowArray> workspace) C = C + AT*Bstatic voidmultAddTransA(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj outputC, @Nullable GrowArray<FGrowArray> workspace) C = C + AT*Bstatic voidmultAddTransAB(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj outputC) C = C + AT*BTstatic voidmultAddTransB(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj outputC, @Nullable GrowArray<FGrowArray> workspace) C = C + A*BTstatic FMatrixRMajmultTransA(FMatrixSparseCSC A, FMatrixRMaj B, @Nullable FMatrixRMaj outputC, @Nullable GrowArray<FGrowArray> workspace) Performs matrix multiplication.static FMatrixRMajmultTransAB(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj outputC) Performs matrix multiplication.static FMatrixRMajmultTransB(FMatrixSparseCSC A, FMatrixRMaj B, @Nullable FMatrixRMaj outputC, @Nullable GrowArray<FGrowArray> workspace) Performs matrix multiplication.
-
Method Details
-
mult
public static FMatrixSparseCSC mult(FMatrixSparseCSC A, FMatrixSparseCSC B, @Nullable @Nullable FMatrixSparseCSC outputC) Matrix multiplication C = A*B. Handles optional data structures requires bymult(FMatrixSparseCSC, FMatrixSparseCSC, FMatrixSparseCSC, 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 FMatrixSparseCSC mult(FMatrixSparseCSC A, FMatrixSparseCSC B, @Nullable @Nullable FMatrixSparseCSC outputC, @Nullable @Nullable GrowArray<Workspace_MT_FSCC> 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 FMatrixSparseCSC add(float alpha, FMatrixSparseCSC A, float beta, FMatrixSparseCSC B, @Nullable @Nullable FMatrixSparseCSC outputC, @Nullable @Nullable GrowArray<Workspace_MT_FSCC> workspace) Performs matrix addition:
C = αA + βB- Parameters:
alpha- (Input) scalar value multiplied against AA- (Input) Sparse matrix. Not modified.beta- (Input) scalar value multiplied against BB- (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 FMatrixRMaj mult(FMatrixSparseCSC A, FMatrixRMaj B, @Nullable @Nullable FMatrixRMaj outputC, @Nullable @Nullable GrowArray<FGrowArray> 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(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj outputC, @Nullable @Nullable GrowArray<FGrowArray> 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 FMatrixRMaj multTransA(FMatrixSparseCSC A, FMatrixRMaj B, @Nullable @Nullable FMatrixRMaj outputC, @Nullable @Nullable GrowArray<FGrowArray> 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(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj outputC, @Nullable @Nullable GrowArray<FGrowArray> 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 FMatrixRMaj multTransB(FMatrixSparseCSC A, FMatrixRMaj B, @Nullable @Nullable FMatrixRMaj outputC, @Nullable @Nullable GrowArray<FGrowArray> 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(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj outputC, @Nullable @Nullable GrowArray<FGrowArray> 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
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
C = C + AT*BT
- Parameters:
A- (Input) Sparse Matrix. Not modified.B- (Input) Dense Matrix. Not modified.outputC- (Output) Dense Matrix.
-