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 FMatrixSparseCSC
add
(float alpha, FMatrixSparseCSC A, float beta, FMatrixSparseCSC B, @Nullable FMatrixSparseCSC outputC, @Nullable GrowArray<Workspace_MT_FSCC> workspace) Performs matrix addition:
C = αA + βBstatic FMatrixRMaj
mult
(FMatrixSparseCSC A, FMatrixRMaj B, @Nullable FMatrixRMaj outputC, @Nullable GrowArray<FGrowArray> workspace) Performs matrix multiplication.static FMatrixSparseCSC
mult
(FMatrixSparseCSC A, FMatrixSparseCSC B, @Nullable FMatrixSparseCSC outputC) Matrix multiplication C = A*B.static FMatrixSparseCSC
mult
(FMatrixSparseCSC A, FMatrixSparseCSC B, @Nullable FMatrixSparseCSC outputC, @Nullable GrowArray<Workspace_MT_FSCC> workspace) Performs matrix multiplication.static void
multAdd
(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj outputC, @Nullable GrowArray<FGrowArray> workspace) C = C + AT*Bstatic void
multAddTransA
(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj outputC, @Nullable GrowArray<FGrowArray> workspace) C = C + AT*Bstatic void
multAddTransAB
(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj outputC) C = C + AT*BTstatic void
multAddTransB
(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj outputC, @Nullable GrowArray<FGrowArray> workspace) C = C + A*BTstatic FMatrixRMaj
multTransA
(FMatrixSparseCSC A, FMatrixRMaj B, @Nullable FMatrixRMaj outputC, @Nullable GrowArray<FGrowArray> workspace) Performs matrix multiplication.static FMatrixRMaj
multTransAB
(FMatrixSparseCSC A, FMatrixRMaj B, FMatrixRMaj outputC) Performs matrix multiplication.static FMatrixRMaj
multTransB
(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.
-