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

◆ computeRank()

void SchreyerFrame::computeRank ( int slanted_degree,
int lev )
private

Definition at line 964 of file res-schreyer-frame.cpp.

965{
966 // std::cout << "computeRank(" << slanted_degree << "," << lev << ")" <<
967 // std::endl;
968 int& status = mComputationStatus.entry(slanted_degree, lev);
969 if (status == 0) return; // Nothing here
970 if (status == 1)
971 {
972 fillinSyzygies(slanted_degree, lev);
973 }
974 if (status == 3) return; // already done
975 int rk = rank(slanted_degree, lev);
976 if (rk > 0)
977 {
978 mBettiMinimal.entry(slanted_degree, lev) -= rk;
979 if (slanted_degree <= mHiSlantedDegree and lev > 0)
980 mBettiMinimal.entry(slanted_degree + 1, lev - 1) -= rk;
981
982 // std::cout << "--- minimal betti after computeRank: " << slanted_degree << " " << lev << std::endl;
983 // mBettiMinimal.output();
984 }
985 status = 3;
986}
BettiDisplay mBettiMinimal
int rank(int slanted_degree, int lev)
BettiDisplay mComputationStatus
void fillinSyzygies(int slanted_deg, int lev)

References fillinSyzygies(), mBettiMinimal, mComputationStatus, and rank().

Referenced by computeRanks(), and minimalBettiNumbers().