Macaulay2 Engine
Loading...
Searching...
No Matches

◆ subtractMultipleTo() [1/10]

template<typename RT>
void MatrixOps::subtractMultipleTo ( DMat< RT > & C,
const DMat< RT > & A,
const DMat< RT > & B )

Definition at line 465 of file mat-linalg.hpp.

467{
468 assert(A.numColumns() == B.numRows());
469 assert(A.numRows() == C.numRows());
470 assert(B.numColumns() == C.numColumns());
471
472 typename RT::Element tmp(A.ring());
473 for (size_t i = 0; i < A.numRows(); i++)
474 for (size_t j = 0; j < B.numColumns(); j++)
475 {
476 auto& val = C.entry(i,j);
477 for (size_t k = 0; k < A.numColumns(); ++k)
478 {
479 A.ring().mult(tmp, A.entry(i,k), B.entry(k,j));
480 A.ring().subtract(val, val, tmp);
481 }
482 }
483}
size_t numRows() const
Definition dmat.hpp:144
ElementType & entry(size_t row, size_t column)
Definition dmat.hpp:148
const ACoeffRing & ring() const
Definition dmat.hpp:143
size_t numColumns() const
Definition dmat.hpp:145

References DMat< ACoeffRing >::entry(), DMat< ACoeffRing >::numColumns(), DMat< ACoeffRing >::numRows(), and DMat< ACoeffRing >::ring().