Macaulay2 Engine
Loading...
Searching...
No Matches
res-schreyer-frame.hpp File Reference

SchreyerFrame — in-progress representation of a free resolution organised by (level, degree). More...

Go to the source code of this file.

Classes

struct  SchreyerFrameTypes::FrameElement
 One generator within a SchreyerFrame::Level. More...
struct  SchreyerFrameTypes::PreElement
 Lightweight (varpower_monomial, degree) pair used during the pre-sort phase that feeds SchreyerFrame::insertLevelZero / insertLevelOne. More...
class  SchreyerFrame
 State container for the in-progress free resolution built by the F4 resolution engine. More...
struct  SchreyerFrame::Level
 One homological level of the frame: the FrameElements living at that level plus the Schreyer order used to break ties among them. More...
struct  SchreyerFrame::Frame
 The full frame: a vector of Levels indexed by homological degree. More...

Namespaces

namespace  SchreyerFrameTypes

Typedefs

typedef int ComponentIndex

Detailed Description

SchreyerFrame — in-progress representation of a free resolution organised by (level, degree).

Note
AI-generated documentation. Verify against the source before relying on it.

Declares the state container the F4 resolution engine builds up as it walks homological levels. Each Level holds a std::vector<FrameElement>, where every FrameElement carries its leading monomial mMonom, the actual mDegree, a mBegin / mEnd slice into the next level's element vector (the descendants this generator contributes), and the mSyzygy polynomial once that level has been computed. Each level additionally carries its ResSchreyerOrder so the next level inherits the right tie-breaker data. These together let F4Res build the next level's Macaulay matrix without ever revisiting the original input, and BettiDisplay production reads directly off the frame so users can pull a partial Betti table mid-run.

The header pulls in m2tbb.hpp so the per-cell scheduler in res-dep-graph.hpp can fire work in parallel across (level, slanted_degree) cells; the parallelizeByDegree flag on F4ResComputation picks the grain. The TODO list at the top of the file is the active refactor agenda (display of poly elements, lazy get_matrix, incremental CoefficientArray, monomial-lookup choices); the long-form work plan lives in TODO-branch-res-2018 in this subdir.

See also
res-f4.hpp
res-f4-computation.hpp
res-schreyer-order.hpp
res-dep-graph.hpp
res-poly-ring.hpp
betti.hpp

Definition in file res-schreyer-frame.hpp.