Class RealCsrDenseOps

java.lang.Object
org.flag4j.linalg.ops.dense_sparse.csr.real.RealCsrDenseOps

public class RealCsrDenseOps extends Object
This class contains low-level ops which act on a real dense and a real sparse CSR matrix.
  • Method Details

    • applyBinOpp

      public static Matrix applyBinOpp(CsrMatrix src1, Matrix src2, BinaryOperator<Double> opp, UnaryOperator<Double> uOpp)
      Applies the specified binary operator element-wise to the two matrices.
      Parameters:
      src1 - First matrix in element-wise binary operation.
      src2 - Second matrix in element-wise binary operation.
      opp - Binary operator to apply element-wise to the two matrices.
      uOpp - Unary operator for use with binary operations_ which are not commutative such as subtraction. If the operation is commutative this should be null. If the binary operation is not commutative, it needs to be decomposable to one commutative binary operation opp and one unary operation uOpp such that it is equivalent to opp.apply(x, uOpp.apply(y)).
      Returns:
      A matrix containing the result from applying opp element-wise to the two matrices.
    • applyBinOpp

      public static Matrix applyBinOpp(Matrix src1, CsrMatrix src2, BinaryOperator<Double> opp)
      Applies the specified binary operator element-wise to the two matrices.
      Parameters:
      src1 - First matrix in element-wise binary operation.
      src2 - Second matrix in element-wise binary operation.
      opp - Binary operator to apply element-wise to the two matrices.
      Returns:
      A matrix containing the result from applying opp element-wise to the two matrices.
    • applyBinOppToSparse

      public static CsrMatrix applyBinOppToSparse(Matrix src1, CsrMatrix src2, BinaryOperator<Double> opp)
      Applies an element-wise binary operation to a real dense and real sparse CSR matrix under the assumption that opp.apply(x, 0d) = 0d and opp.apply(0d, x) = 0d.
      Parameters:
      src1 - The first matrix in the operation.
      src2 - Second matrix in the operation.
      opp - Operation to apply to the matrices.
      Returns:
      The result of applying the operation element-wise to the matrices. Result is a sparse CSR matrix.
    • applyBinOpp

      public static Matrix applyBinOpp(CsrMatrix src1, double b, BinaryOperator<Double> opp, UnaryOperator<Double> uOpp)
      Applies the specified binary operator element-wise to a matrix and a scalar.
      Parameters:
      src1 - First matrix in element-wise binary operation.
      b - Scalar to apply element-wise using the specified operation.
      opp - Binary operator to apply element-wise to the two matrices.
      uOpp - Unary operator for use with binary operations_ which are not commutative such as subtraction. If the operation is commutative this should be null. If the binary operation is not commutative, it needs to be decomposable to one commutative binary operation opp and one unary operation uOpp such that it is equivalent to opp.apply(x, uOpp.apply(y)).
      Returns:
      A matrix containing the result from applying opp element-wise to the two matrices.
    • add

      public static Matrix add(CsrMatrix a, Matrix denseB)
      Computes the element-wise sum of two matrices.
      Parameters:
      a - First matrix in sum.
      b - Second matrix in sum.
      Returns:
      The element-wise sum of a and b.
    • sub

      public static Matrix sub(CsrMatrix a, Matrix denseB)
      Computes the element-wise difference of two matrices.
      Parameters:
      a - First matrix in difference.
      b - Second matrix in difference.
      Returns:
      The element-wise difference of a and b.