|
Macaulay2 Engine
|
ResolutionComputation subclass that drives the F4 resolution engine (SchreyerFrame + F4Res) from the engine-side API. More...
#include <res-f4-computation.hpp>
Public Member Functions | |
| virtual | ~F4ResComputation () |
| M2_arrayint | minimal_betti (M2_arrayint slanted_degree_limit, M2_arrayint length_limit) |
| MutableMatrix * | get_mutable_matrix (const Ring *R, int level) |
| MutableMatrix * | get_mutable_matrix (const Ring *KK, int slanted_degree, int level) |
| Public Member Functions inherited from ResolutionComputation | |
| virtual ResolutionComputation * | cast_to_ResolutionComputation () |
| virtual | ~ResolutionComputation () |
| Public Member Functions inherited from Computation | |
| Computation * | set_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 GBComputation * | cast_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 () |
| SchreyerFrame & | frame () |
| void | start_computation () |
| int | complete_thru_degree () const |
| const Matrix * | get_matrix (int level) |
| MutableMatrix * | get_matrix (int slanted_degree, int level) |
| const FreeModule * | get_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 PolynomialRing & | mOriginalRing |
| const Matrix & | mInputGroebnerBasis |
| std::unique_ptr< ResPolyRing > | mRing |
| std::unique_ptr< SchreyerFrame > | mComp |
Friends | |
| ResolutionComputation * | createF4Res (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 ResolutionComputation * | choose_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_ |
ResolutionComputation subclass that drives the F4 resolution engine (SchreyerFrame + F4Res) from the engine-side API.
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.