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

◆ denseCancelFromSparse() [1/2]

template<typename RingType>
void ConcreteVectorArithmetic< RingType >::denseCancelFromSparse ( ElementArray & dense,
const ElementArray & sparse,
const Range< const int > & comps ) const
inline

Definition at line 240 of file VectorArithmetic.hpp.

243 {
244 // ASSUMPTION: svec[0] == 1.
245 auto& dvec = * elementArray(dense);
246 auto& svec = * elementArray(sparse);
247
248 typename RingType::Element a(*mRing,dvec[comps[0]]);
249 for (int i=1; i < comps.size(); ++i)
250 mRing->subtract_multiple(dvec[comps[i]], a, svec[i]);
251 mRing->set_zero(dvec[comps[0]]);
252 }
size_t size(const ElementArray &coeffs) const
Linear Algebra /////.
ElementArrayContainer * elementArray(const ElementArray &f) const

References dvec(), elementArray(), mRing, and Range< T >::size().