Class RealCsrDenseMatrixMultiplication
java.lang.Object
org.flag4j.operations.dense_sparse.csr.real.RealCsrDenseMatrixMultiplication
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic Matrix
Computes the matrix multiplication between a real dense matrix and a real sparse CSR matrix.static Matrix
Computes the matrix multiplication between a real sparse CSR matrix and a real dense matrix.static Matrix
standardTranspose
(CsrMatrix src1, Matrix src2) Computes the matrix multiplication between a real sparse CSR matrix and the transpose of a real dense matrix.static Vector
standardVector
(CsrMatrix src1, Vector src2) Computes the matrix-vector multiplication between a real sparse CSR matrix and a real dense vector.static Vector
standardVector
(CsrMatrix src1, CooVector src2) Computes the matrix-vector multiplication between a real sparse CSR matrix and a real sparse COO vector.
-
Constructor Details
-
RealCsrDenseMatrixMultiplication
private RealCsrDenseMatrixMultiplication()
-
-
Method Details
-
standard
Computes the matrix multiplication between a real sparse CSR matrix and a real dense matrix. WARNING: If the first matrix is very large but not very sparse, this method may be slower than converting the first matrix to adense
matrix and callingMatrix.mult(Matrix)
.- Parameters:
src1
- First matrix in the matrix multiplication.src2
- Second matrix in the matrix multiplication.- Returns:
- The result of the matrix multiplication between
src1
andsrc2
. - Throws:
IllegalArgumentException
- Ifsrc1
does not have the same number of columns assrc2
has rows.
-
standard
Computes the matrix multiplication between a real dense matrix and a real sparse CSR matrix. WARNING: If the second matrix is very large but not very sparse, this method may be slower than converting the second matrix to adense
matrix and callingMatrix.mult(Matrix)
.- Parameters:
src1
- First matrix in the matrix multiplication (dense matrix).src2
- Second matrix in the matrix multiplication (sparse CSR matrix).- Returns:
- The result of the matrix multiplication between
src1
andsrc2
. - Throws:
IllegalArgumentException
- Ifsrc1
does not have the same number of columns assrc2
has rows.
-
standardTranspose
Computes the matrix multiplication between a real sparse CSR matrix and the transpose of a real dense matrix. WARNING: This method is likely slower thanstandard(src1, src2.T())
unlesssrc1
has many more columns than rows and is very sparse.- Parameters:
src1
- First matrix in the matrix multiplication.src2
- Second matrix in the matrix multiplication. Will be implicitly transposed.- Returns:
- The result of the matrix multiplication between
src1
andsrc2
. - Throws:
IllegalArgumentException
- Ifsrc1
andsrc2
do not have the same number of rows.
-
standardVector
Computes the matrix-vector multiplication between a real sparse CSR matrix and a real dense vector.- Parameters:
src1
- The matrix in the multiplication.src2
- Vector in multiplication. Treated as a column vector.- Returns:
- The result of the matrix-vector multiplication.
- Throws:
IllegalArgumentException
- If the number of columns insrc1
does not equal the length ofsrc2
.
-
standardVector
Computes the matrix-vector multiplication between a real sparse CSR matrix and a real sparse COO vector.- Parameters:
src1
- The matrix in the multiplication.src2
- Vector in multiplication. Treated as a column vector in COO format.- Returns:
- The result of the matrix-vector multiplication.
- Throws:
IllegalArgumentException
- If the number of columns insrc1
does not equal the number of columns insrc2
.
-