|
Macaulay2 Engine
|
Computes the kernel of a Schreyer-encoded GBMatrix and returns the syzygies in a Schreyer-compatible free module. More...
#include <Eschreyer.hpp>
Public Member Functions | |
| GBKernelComputation (const GBMatrix *m) | |
| virtual | ~GBKernelComputation () |
| int | calc () |
| GBMatrix * | get_syzygies () |
| GBKernelComputation * | cast_to_GBKernelComputation () |
| const GBKernelComputation * | cast_to_GBKernelComputation () const |
| 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 ResolutionComputation * | cast_to_ResolutionComputation () |
| virtual void | text_out (buffer &o) const |
| 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 () |
Private Member Functions | |
| bool | stop_conditions_ok () |
| int | complete_thru_degree () const |
| void | start_computation () |
| void | new_pairs (int i) |
| void | strip_gb (const gc_vector< gbvector * > &m) |
| void | strip_gb (const GBMatrix *m) |
| gbvector * | make_syz_term (ring_elem c, const_monomial monom, int comp) const |
| bool | find_ring_divisor (const_exponents exp, const gbvector *&result) |
| int | find_divisor (const MonomialIdeal *mi, const_exponents exp, int &result) |
| void | wipe_unneeded_terms (gbvector *&f) |
| gbvector * | s_pair (gbvector *syz) |
| void | reduce (gbvector *&g, gbvector *&gsyz) |
| void | geo_reduce (gbvector *&g, gbvector *&gsyz) |
Private Attributes | |
| const PolynomialRing * | R |
| const Ring * | K |
| GBRing * | GR |
| const Monoid * | M |
| const SchreyerOrder * | SF |
| const SchreyerOrder * | SG |
| const FreeModule * | F |
| const FreeModule * | G |
| gc_vector< MonomialIdeal * > | mi |
| gc_vector< gbvector * > | gb |
| gc_vector< gbvector * > | syzygies |
| size_t | exp_size |
| size_t | monom_size |
| int | n_ones |
| int | n_unique |
| int | n_others |
| int | total_reduce_count |
Additional Inherited Members | |
| 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 Member Functions inherited from Computation | |
| Computation () | |
| enum ComputationStatusCode | set_status (enum ComputationStatusCode) |
| virtual | ~Computation () |
| Protected Attributes inherited from Computation | |
| StopConditions | stop_ |
Computes the kernel of a Schreyer-encoded GBMatrix and returns the syzygies in a Schreyer-compatible free module.
F is the target free module (with Schreyer order SF); G is the source for the resulting syzygies (with order SG, which must be a Schreyer order compatible with the input). The computation builds a MonomialIdeal per component from the stripped GB (gb), then walks new pairs (new_pairs) and reduces them (reduce / geo_reduce) into syzygies stored in syzygies. The n_ones / n_unique / n_others / total_reduce_count counters classify each reduction step for profiling.
Definition at line 81 of file Eschreyer.hpp.