Class RealComplexCsrMatMult

java.lang.Object
org.flag4j.linalg.ops.sparse.csr.real_complex.RealComplexCsrMatMult

public final class RealComplexCsrMatMult extends Object
This class provides low-level implementation of matrix multiplication between a real CSR matrix and a complex CSR matrix.
  • Method Details

    • standard

      public static CMatrix standard(CsrMatrix src1, CsrCMatrix 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.
    • standard

      public static CMatrix standard(CsrCMatrix 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 CsrCMatrix standardAsSparse(CsrMatrix src1, CsrCMatrix 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, CsrCMatrix) 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.
    • standardAsSparse

      public static CsrCMatrix standardAsSparse(CsrCMatrix 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(CsrCMatrix, 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 CVector standardVector(CsrMatrix src1, CooCVector src2)
      Computes the matrix-vector multiplication between a real sparse CSR matrix and a complex 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.
    • standardVector

      public static CVector standardVector(CsrCMatrix src1, CooVector src2)
      Computes the matrix-vector multiplication between a real sparse CSR matrix and a complex 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.