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

◆ numNonzero()

long DegreeZeroMapGenerator::numNonzero ( ) const
inline

Definition at line 435 of file res-f4-m2-interface.cpp.

436 {
437 long nnonzeros = 0;
438 auto& thislevel = mSchreyerFrame.level(mLevel);
439 for (auto p = thislevel.begin(); p != thislevel.end(); ++p)
440 {
441 if (p->mDegree != mDegree) continue;
442 auto& f = p->mSyzygy;
443 auto end = ResPolynomialIterator(mSchreyerFrame.ring(), f, 1);
444 auto i = ResPolynomialIterator(mSchreyerFrame.ring(), f);
445
446 for (; i != end; ++i)
447 {
448 auto comp = mSchreyerFrame.monoid().get_component(i.monomial());
449 if (mComponentTranslation[comp] >= 0)
450 nnonzeros++;
451 }
452 }
453 return nnonzeros;
454 }
std::vector< int > mComponentTranslation
int p

References end(), mComponentTranslation, mDegree, mLevel, mSchreyerFrame, and p.

Referenced by SchreyerFrame::rank().