Macaulay2 Engine
Loading...
Searching...
No Matches
F4ResComputation Class Reference

ResolutionComputation subclass that drives the F4 resolution engine (SchreyerFrame + F4Res) from the engine-side API. More...

#include <res-f4-computation.hpp>

Inheritance diagram for F4ResComputation:
ResolutionComputation Computation MutableEngineObject our_gc_cleanup our_new_delete

Public Member Functions

virtual ~F4ResComputation ()
M2_arrayint minimal_betti (M2_arrayint slanted_degree_limit, M2_arrayint length_limit)
MutableMatrixget_mutable_matrix (const Ring *R, int level)
MutableMatrixget_mutable_matrix (const Ring *KK, int slanted_degree, int level)
Public Member Functions inherited from ResolutionComputation
virtual ResolutionComputationcast_to_ResolutionComputation ()
virtual ~ResolutionComputation ()
Public Member Functions inherited from Computation
Computationset_stop_conditions (M2_bool always_stop, M2_arrayint degree_limit, int basis_element_limit, int syzygy_limit, int pair_limit, int codim_limit, int subring_limit, M2_bool just_min_gens, M2_arrayint length_limit)
enum ComputationStatusCode status () const
virtual GBComputationcast_to_GBComputation ()
virtual void show () const
Public Member Functions inherited from MutableEngineObject
 MutableEngineObject ()
virtual ~MutableEngineObject ()
unsigned int hash () const
Public Member Functions inherited from our_gc_cleanup
 our_gc_cleanup ()
virtual ~our_gc_cleanup ()

Protected Member Functions

bool stop_conditions_ok ()
SchreyerFrameframe ()
void start_computation ()
int complete_thru_degree () const
const Matrixget_matrix (int level)
MutableMatrixget_matrix (int slanted_degree, int level)
const FreeModuleget_free (int level)
M2_arrayint get_betti (int type) const
void text_out (buffer &o) const
Protected Member Functions inherited from ResolutionComputation
 ResolutionComputation ()
Protected Member Functions inherited from Computation
 Computation ()
enum ComputationStatusCode set_status (enum ComputationStatusCode)
virtual ~Computation ()

Private Member Functions

 F4ResComputation (const PolynomialRing *origR, ResPolyRing *R, const Matrix *gbmatrix, int max_level, int numThreads, bool parallelizeByDegree)

Private Attributes

const PolynomialRingmOriginalRing
const MatrixmInputGroebnerBasis
std::unique_ptr< ResPolyRingmRing
std::unique_ptr< SchreyerFramemComp

Friends

ResolutionComputationcreateF4Res (const Matrix *groebnerBasisMatrix, int max_level, int strategy, int numThreads, bool parallelizeByDegree)

Additional Inherited Members

Static Public Member Functions inherited from ResolutionComputation
static void betti_init (int lo, int hi, int len, int *&bettis)
static M2_arrayint betti_make (int lo, int hi, int len, int *bettis)
static void betti_display (buffer &o, M2_arrayint a)
static ResolutionComputationchoose_res (const Matrix *m, M2_bool resolve_cokernel, int max_level, M2_bool use_max_slanted_degree, int max_slanted_degree, int algorithm, int strategy, int numThreads, M2_bool parallelizeByDegree)
Static Public Member Functions inherited from our_new_delete
static void * operator new (size_t size)
static void * operator new[] (size_t size)
static void operator delete (void *obj)
static void operator delete[] (void *obj)
static void * operator new (size_t size, void *existing_memory)
static void * operator new[] (size_t size, void *existing_memory)
static void operator delete (void *obj, void *existing_memory)
static void operator delete[] (void *obj, void *existing_memory)
Protected Attributes inherited from Computation
StopConditions stop_

Detailed Description

ResolutionComputation subclass that drives the F4 resolution engine (SchreyerFrame + F4Res) from the engine-side API.

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

Constructor is private; the free function createF4Res (declared friend) instantiates it from a GB-presented input matrix plus a max_level cap, thread count, and degree-parallel flag. Owns the underlying ResPolyRing and the SchreyerFrame that holds the in-progress resolution. The standard ResolutionComputation driver loop walks the frame (level, slanted_degree) cell by cell, calling into F4Res to build and reduce the Macaulay matrix at each.

Definition at line 71 of file res-f4-computation.hpp.


The documentation for this class was generated from the following files: