Class RealCsrMatMult

java.lang.Object
org.flag4j.linalg.ops.sparse.csr.real.RealCsrMatMult

public final class RealCsrMatMult extends Object
This class provides low-level implementation of matrix multiplication between two real CSR matrices.
  • Method Details

    • standard

      public static Matrix standard(CsrMatrix src1, CsrMatrix src2)
      Computes the matrix multiplication between two sparse CSR matrices. The result is a dense matrix.
      Parameters:
      src1 - First CSR matrix in the multiplication.
      src2 - Second CSR matrix in the multiplication.
      Returns:
      Entries of the dense matrix resulting from the matrix multiplication of the two sparse CSR matrices.
    • standardAsSparse

      public static CsrMatrix standardAsSparse(CsrMatrix src1, CsrMatrix src2)
      Computes the matrix multiplication between two sparse CSR matrices and returns the result as a sparse matrix.
      Warning: This method may be slower than standard(CsrMatrix, CsrMatrix) if the result of multiplying this matrix with src2 is not very sparse. Further, multiplying two sparse matrices (even very sparse matrices) may result in a dense matrix so this method should be used with caution.
      Parameters:
      src1 - First CSR matrix in the multiplication.
      src2 - Second CSR matrix in the multiplication.
      Returns:
      Sparse CSR matrix resulting from the matrix multiplication of the two sparse CSR matrices.
    • standardVector

      public static Vector standardVector(CsrMatrix src1, CooVector src2)
      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 in src1 does not equal the number of columns in src2.