Package org.ejml.sparse.csc.mult
Class ImplSparseSparseMult_DSCC
- java.lang.Object
-
- org.ejml.sparse.csc.mult.ImplSparseSparseMult_DSCC
-
public class ImplSparseSparseMult_DSCC extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description ImplSparseSparseMult_DSCC()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static 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, org.ejml.data.IGrowArray gw, org.ejml.data.DGrowArray gx)Computes the inner product of two column vectors taken from the input matrices.static voidinnerProductLower(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixSparseCSC B, org.ejml.data.IGrowArray gw, org.ejml.data.DGrowArray gx)Computes the inner product of A times A and stores the results in B.static voidmult(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C)static voidmult(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixSparseCSC B, org.ejml.data.DMatrixSparseCSC C, org.ejml.data.IGrowArray gw, 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)static voidmultAddColA(org.ejml.data.DMatrixSparseCSC A, int colA, double alpha, org.ejml.data.DMatrixSparseCSC C, int mark, double[] x, int[] w)Performs the performing operation x = x + A(:,i)*alphastatic voidmultAddTransA(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C)static voidmultAddTransAB(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C)static voidmultAddTransB(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C)static voidmultTransA(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C)static voidmultTransA(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixSparseCSC B, org.ejml.data.DMatrixSparseCSC C, org.ejml.data.IGrowArray gw, org.ejml.data.DGrowArray gx)Performs matrix multiplication.static voidmultTransAB(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C)static voidmultTransB(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C)static voidmultTransB(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixSparseCSC B, org.ejml.data.DMatrixSparseCSC C, org.ejml.data.IGrowArray gw, org.ejml.data.DGrowArray gx)Performs matrix multiplication.
-
-
-
Method Detail
-
mult
public static void mult(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. C = A*B- Parameters:
A- MatrixB- MatrixC- Storage for results. Data length is increased if increased if insufficient.gw- (Optional) Storage for internal workspace. Can be null.gx- (Optional) Storage for internal workspace. Can be null.
-
multTransA
public static void multTransA(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. C = AT*B- Parameters:
A- MatrixB- MatrixC- Storage for results. Data length is increased if increased if insufficient.gw- (Optional) Storage for internal workspace. Can be null.gx- (Optional) Storage for internal workspace. Can be null.
-
multTransB
public static void multTransB(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. C = A*BT- Parameters:
A- MatrixB- MatrixC- Storage for results. Data length is increased if increased if insufficient.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 performing 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)
-
multAdd
public static void multAdd(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C)
-
multTransA
public static void multTransA(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C)
-
multAddTransA
public static void multAddTransA(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C)
-
multTransB
public static void multTransB(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C)
-
multAddTransB
public static void multAddTransB(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C)
-
multTransAB
public static void multTransAB(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C)
-
multAddTransAB
public static void multAddTransAB(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj C)
-
dotInnerColumns
public static double dotInnerColumns(org.ejml.data.DMatrixSparseCSC A, int colA, org.ejml.data.DMatrixSparseCSC B, int colB, org.ejml.data.IGrowArray gw, org.ejml.data.DGrowArray gx)Computes the inner product of two column vectors taken from the input matrices.dot = A(:,colA)'*B(:,colB)
- Parameters:
A- MatrixcolA- Column in AB- MatrixcolB- Column in B- Returns:
- Dot product
-
innerProductLower
public static void innerProductLower(org.ejml.data.DMatrixSparseCSC A, org.ejml.data.DMatrixSparseCSC B, @Nullable org.ejml.data.IGrowArray gw, @Nullable org.ejml.data.DGrowArray gx)Computes the inner product of A times A and stores the results in B. The inner product is symmetric and this function will only store the lower triangle. If the full matrix is needed then.B = AT*A
- Parameters:
A- (Input) MatrixB- (Output) Storage for output.gw- (Optional) Workspacegx- (Optional) Workspace
-
-