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

◆ computeFrame()

bool SchreyerFrame::computeFrame ( )

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

103{
104 if (mState == Initializing)
105 {
106 std::cout << "error: calling computeFrame too soon" << std::endl;
107 }
108 if (mState != Frame) return true; // already computed
109
110 // Uses mCurrentLevel
111 while (mCurrentLevel < mFrame.mLevels.size())
112 {
113 if (M2_gbTrace >= 1)
114 std::cout << "maxsize = " << mFrame.mLevels.size()
115 << " and mCurrentLevel = " << mCurrentLevel << std::endl;
116 if (computeNextLevel() == 0) break; // increments mCurrentLevel
117 // if (interrupted) return false;
118 }
119 // show(-1);
120 // Now change the state of the computation
121
123 mCurrentLevel = 2;
126 setBettiDisplays(); // Also sets mMinimalizeTODO
127 if (M2_gbTrace >= 1)
128 {
129 std::cout << "non-minimal betti: " << std::endl;
130 mBettiNonminimal.output();
131 }
132
133 // for (int i=0; i<mMinimalizeTODO.size(); i++)
134 // {
135 // auto a = mMinimalizeTODO[i];
136 // std::cout << "(" << a.first << "," << a.second << ") ";
137 // }
138 // std::cout << std::endl;
139 return true;
140}
enum SchreyerFrame::@107076371201376153077324375251043314133302145334 mState
component_index computeNextLevel()
void getBounds(int &loDegree, int &hiDegree, int &length) const
BettiDisplay mBettiNonminimal
int M2_gbTrace
Definition m2-types.cpp:52
The full frame: a vector of Levels indexed by homological degree.

References computeNextLevel(), getBounds(), Initializing, M2_gbTrace, Matrices, mBettiNonminimal, mCurrentLevel, mFrame, mHiSlantedDegree, mLoSlantedDegree, mMaxLength, mSlantedDegree, mState, and setBettiDisplays().

Referenced by getBetti(), minimalBettiNumbers(), and start_computation().