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) = 0d
andopp.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 operationopp
and one unary operationuOpp
such that it is equivalent toopp.apply(x, uOpp.apply(y))
.- Returns:
- A matrix containing the result from applying
opp
element-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
opp
element-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 operationopp
and one unary operationuOpp
such that it is equivalent toopp.apply(x, uOpp.apply(y))
.- Returns:
- A matrix containing the result from applying
opp
element-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 operationopp
and one unary operationuOpp
such that it is equivalent toopp.apply(x, uOpp.apply(y))
.- Returns:
- A matrix containing the result from applying
opp
element-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) = 0d
andopp.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
a
andb
.
-
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
a
andb
.
-
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
a
andb
.
-