Class DenseCsrFieldOps
java.lang.Object
org.flag4j.linalg.ops.dense_sparse.csr.field_ops.DenseCsrFieldOps
This class contains low-level ops which act on a dense and a sparse CSR field matrix.
-
Method Summary
Modifier and TypeMethodDescriptionstatic <T extends Field<T>>
AbstractDenseFieldMatrix<?, ?, T> add(AbstractCsrFieldMatrix<?, ?, ?, T> a, AbstractDenseFieldMatrix<?, ?, T> b) Computes the element-wise sum of two matrices.static <T extends Field<T>>
AbstractDenseFieldMatrix<?, ?, T> applyBinOpp(AbstractCsrFieldMatrix<?, ?, ?, T> src1, double b, BinaryOperator<T> opp, UnaryOperator<Double> uOpp) Applies the specified binary operator element-wise to a matrix and a scalar.static <T extends Field<T>>
AbstractDenseFieldMatrix<?, ?, T> applyBinOpp(AbstractCsrFieldMatrix<?, ?, ?, T> src1, AbstractDenseFieldMatrix<?, ?, T> src2, BinaryOperator<T> opp, UnaryOperator<T> uOpp) Applies the specified binary operator element-wise to the two matrices.static <T extends Field<T>>
AbstractDenseFieldMatrix<?, ?, T> applyBinOpp(AbstractCsrFieldMatrix<?, ?, ?, T> src1, T b, BinaryOperator<T> opp, UnaryOperator<T> uOpp) Applies the specified binary operator element-wise to a matrix and a scalar.static <T extends Field<T>>
AbstractDenseFieldMatrix<?, ?, T> applyBinOpp(AbstractDenseFieldMatrix<?, ?, T> src1, AbstractCsrFieldMatrix<?, ?, ?, T> src2, BinaryOperator<T> opp) Applies the specified binary operator element-wise to the two matrices.static <T extends Field<T>>
AbstractCsrFieldMatrix<?, ?, ?, T> applyBinOppToSparse(AbstractDenseFieldMatrix<?, ?, T> src1, AbstractCsrFieldMatrix<?, ?, ?, T> src2, BinaryOperator<T> opp) Applies an element-wise binary operation to a real dense and real sparse CSR matrix under the assumption thatopp.apply(x, 0d) = 0dandopp.apply(0d, x) = 0d.static <T extends Field<T>>
AbstractDenseFieldMatrix<?, ?, T> sub(AbstractCsrFieldMatrix<?, ?, ?, T> a, AbstractDenseFieldMatrix<?, ?, T> b) Computes the element-wise difference of two matrices.static <T extends Field<T>>
AbstractDenseFieldMatrix<?, ?, T> sub(AbstractDenseFieldMatrix<?, ?, T> a, AbstractCsrFieldMatrix<?, ?, ?, T> b) Computes the element-wise difference of two matrices.
-
Method Details
-
applyBinOpp
public static <T extends Field<T>> AbstractDenseFieldMatrix<?,?, applyBinOppT> (AbstractCsrFieldMatrix<?, ?, ?, T> src1, AbstractDenseFieldMatrix<?, ?, T> src2, BinaryOperator<T> opp, UnaryOperator<T> 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 ops which are not commutative such as subtraction. If the operation is commutative this should benull. If the binary operation is not commutative, it needs to be decomposable to one commutative binary operationoppand one unary operationuOppsuch that it is equivalent toopp.apply(x, uOpp.apply(y)).- Returns:
- A matrix containing the result from applying
oppelement-wise to the two matrices.
-
applyBinOpp
public static <T extends Field<T>> AbstractDenseFieldMatrix<?,?, applyBinOppT> (AbstractDenseFieldMatrix<?, ?, T> src1, AbstractCsrFieldMatrix<?, ?, ?, T> src2, BinaryOperator<T> 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
oppelement-wise to the two matrices.
-
applyBinOpp
public static <T extends Field<T>> AbstractDenseFieldMatrix<?,?, applyBinOppT> (AbstractCsrFieldMatrix<?, ?, ?, T> src1, double b, BinaryOperator<T> 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 ops which are not commutative such as subtraction. If the operation is commutative this should benull. If the binary operation is not commutative, it needs to be decomposable to one commutative binary operationoppand one unary operationuOppsuch that it is equivalent toopp.apply(x, uOpp.apply(y)).- Returns:
- A matrix containing the result from applying
oppelement-wise to the two matrices.
-
applyBinOpp
public static <T extends Field<T>> AbstractDenseFieldMatrix<?,?, applyBinOppT> (AbstractCsrFieldMatrix<?, ?, ?, T> src1, T b, BinaryOperator<T> opp, UnaryOperator<T> 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 ops which are not commutative such as subtraction. If the operation is commutative this should benull. If the binary operation is not commutative, it needs to be decomposable to one commutative binary operationoppand one unary operationuOppsuch that it is equivalent toopp.apply(x, uOpp.apply(y)).- Returns:
- A matrix containing the result from applying
oppelement-wise to the two matrices.
-
applyBinOppToSparse
public static <T extends Field<T>> AbstractCsrFieldMatrix<?,?, applyBinOppToSparse?, T> (AbstractDenseFieldMatrix<?, ?, T> src1, AbstractCsrFieldMatrix<?, ?, ?, T> src2, BinaryOperator<T> opp) Applies an element-wise binary operation to a real dense and real sparse CSR matrix under the assumption thatopp.apply(x, 0d) = 0dandopp.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.
-
add
public static <T extends Field<T>> AbstractDenseFieldMatrix<?,?, addT> (AbstractCsrFieldMatrix<?, ?, ?, T> a, AbstractDenseFieldMatrix<?, ?, T> b) 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
aandb.
-
sub
public static <T extends Field<T>> AbstractDenseFieldMatrix<?,?, subT> (AbstractCsrFieldMatrix<?, ?, ?, T> a, AbstractDenseFieldMatrix<?, ?, T> b) 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
aandb.
-
sub
public static <T extends Field<T>> AbstractDenseFieldMatrix<?,?, subT> (AbstractDenseFieldMatrix<?, ?, T> a, AbstractCsrFieldMatrix<?, ?, ?, T> b) 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
aandb.
-