Class RealSparseMatrixOps

java.lang.Object
org.flag4j.linalg.ops.sparse.coo.real.RealSparseMatrixOps

public final class RealSparseMatrixOps extends Object
This class has low level implementations for ops between two real sparse matrices.
  • Method Details

    • add

      public static CooMatrix add(CooMatrix src1, CooMatrix src2)
      Adds two real sparse matrices. This method assumes that the indices of the two matrices are sorted lexicographically.
      Parameters:
      src1 - First matrix in the sum.
      src2 - Second matrix in the sum.
      Returns:
      The sum of the two matrices src1 and src2.
      Throws:
      IllegalArgumentException - If the two matrices do not have the same shape.
    • add

      public static Matrix add(CooMatrix src, double a)
      Adds a double all data (including zero values) of a real sparse matrix.
      Parameters:
      src - Sparse matrix to add double value to.
      a - Double value to add to the sparse matrix.
      Returns:
      The result of the matrix addition.
      Throws:
      ArithmeticException - If the src sparse matrix is too large to be converted to a dense matrix. That is, there are more than Integer.MAX_VALUE data in the matrix (including zero data).
    • sub

      public static CooMatrix sub(CooMatrix src1, CooMatrix src2)
      Computes the subtraction between two real sparse matrices. This method assumes that the indices of the two matrices are sorted lexicographically.
      Parameters:
      src1 - First matrix in the subtraction.
      src2 - Second matrix in the subtraction.
      Returns:
      The difference of the two matrices src1 and src2.
      Throws:
      IllegalArgumentException - If the two matrices do not have the same shape.
    • sub

      public static Matrix sub(CooMatrix src, double a)
      Subtracts a double from all data (including zero values) of a real sparse matrix.
      Parameters:
      src - Sparse matrix to subtract double value from.
      a - Double value to subtract from the sparse matrix.
      Returns:
      The result of the matrix subtraction.
      Throws:
      ArithmeticException - If the src sparse matrix is too large to be converted to a dense matrix. That is, there are more than Integer.MAX_VALUE data in the matrix (including zero data).
    • elemMult

      public static CooMatrix elemMult(CooMatrix src1, CooMatrix src2)
      Multiplies two sparse matrices element-wise. This method assumes that the indices of the two matrices are sorted lexicographically.
      Parameters:
      src1 - First matrix in the element-wise multiplication.
      src2 - Second matrix in the element-wise multiplication.
      Returns:
      The element-wise product of the two matrices src1 and src2.
      Throws:
      IllegalArgumentException - If the two matrices do not have the same shape.
    • addToEachCol

      public static Matrix addToEachCol(CooMatrix src, CooVector col)
      Adds a sparse vector to each column of a sparse matrix as if the vector is a column vector.
      Parameters:
      src - The source sparse matrix.
      col - Sparse vector to add to each column of the sparse matrix.
      Returns:
      A dense copy of the src matrix with the col vector added to each row of the matrix.
    • addToEachRow

      public static Matrix addToEachRow(CooMatrix src, CooVector row)
      Adds a sparse vector to each row of a sparse matrix as if the vector is a row vector.
      Parameters:
      src - The source sparse matrix.
      row - Sparse vector to add to each row of the sparse matrix.
      Returns:
      A dense copy of the src matrix with the row vector added to each row of the matrix.