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

Computes the kernel of a Schreyer-encoded GBMatrix and returns the syzygies in a Schreyer-compatible free module. More...

#include <Eschreyer.hpp>

Inheritance diagram for GBKernelComputation:
Computation MutableEngineObject our_gc_cleanup our_new_delete

Public Member Functions

 GBKernelComputation (const GBMatrix *m)
virtual ~GBKernelComputation ()
int calc ()
GBMatrixget_syzygies ()
GBKernelComputationcast_to_GBKernelComputation ()
const GBKernelComputationcast_to_GBKernelComputation () const
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 ResolutionComputationcast_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)
gbvectormake_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)
gbvectors_pair (gbvector *syz)
void reduce (gbvector *&g, gbvector *&gsyz)
void geo_reduce (gbvector *&g, gbvector *&gsyz)

Private Attributes

const PolynomialRingR
const RingK
GBRingGR
const MonoidM
const SchreyerOrderSF
const SchreyerOrderSG
const FreeModuleF
const FreeModuleG
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_

Detailed Description

Computes the kernel of a Schreyer-encoded GBMatrix and returns the syzygies in a Schreyer-compatible free module.

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

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.


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