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

A Groebner basis computation class for inhomogeneous input modules. More...

#include <gb-sugarless.hpp>

Inheritance diagram for GBinhom_comp:
GBComputation Computation MutableEngineObject our_gc_cleanup our_new_delete

Public Member Functions

 GBinhom_comp (const Matrix *m, int collect_syz, int n_syz, M2_arrayint gb_weights, int strategy)
 ~GBinhom_comp ()
virtual void remove_gb ()
int calc (const int *deg, const gc_vector< int > &stop_conditions)
void add_gens (int lo, int hi, const Matrix *m)
Matrixreduce (const Matrix *m, Matrix *&lift)
Matrixmin_gens_matrix ()
Matrixinitial_matrix (int n)
Matrixgb_matrix ()
Matrixchange_matrix ()
Matrixsyz_matrix ()
void debug_out (s_pair *q) const
void debug_pairs_out (gb_elem *p) const
void debug_pairs () const
void debug_out (buffer &o, s_pair *q) const
void debug_pairs_out (buffer &o, gb_elem *p) const
void debug_pairs (buffer &o) const
void stats () const
virtual bool stop_conditions_ok ()
virtual int kind ()
void start_computation ()
virtual const PolynomialRingget_ring () const
virtual const Matrixget_gb ()
virtual const Matrixget_mingens ()
virtual const Matrixget_change ()
virtual const Matrixget_syzygies ()
virtual const Matrixget_initial (int nparts)
virtual const Matrixget_parallel_lead_terms (M2_arrayint w)
virtual const Matrixmatrix_remainder (const Matrix *m)
virtual M2_bool matrix_lift (const Matrix *m, const Matrix **result_remainder, const Matrix **result_quotient)
virtual int contains (const Matrix *m)
virtual void text_out (buffer &o) const
virtual int complete_thru_degree () const
Public Member Functions inherited from GBComputation
virtual ~GBComputation ()
GBComputationcast_to_GBComputation () override
virtual Computationset_hilbert_function (const RingElement *h)
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 ResolutionComputationcast_to_ResolutionComputation ()
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 ()

Static Public Member Functions

static GBinhom_compcreate (const Matrix *m, M2_bool collect_syz, int n_rows_to_keep, M2_arrayint gb_weights, int strategy, M2_bool use_max_degree, int max_degree)
Static Public Member Functions inherited from GBComputation
static GBComputationchoose_gb (const Matrix *m, M2_bool collect_syz, int n_rows_to_keep, M2_arrayint gb_weights, M2_bool use_max_degree, int max_degree, int algorithm, int strategy, int numThreads, int max_reduction_count=10)
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)

Private Member Functions

 VECTOR (MonomialIdeal *) monideals
void set_up0 (const Matrix *m, int csyz, int nsyz, M2_arrayint gb_weights)
void set_up (const Matrix *m, int csyz, int nsyz, M2_arrayint gb_weights, int strategy)
s_pairnew_var_pair (gb_elem *p, const int *lcm)
s_pairnew_ring_pair (gb_elem *p, const int *lcm)
s_pairnew_s_pair (gb_elem *p, gb_elem *q, const int *lcm)
s_pairnew_gen (int i, gbvector *f, ring_elem denom)
void remove_pair (s_pair *&p)
int mark_pair (gb_elem *p, gb_elem *q) const
int search (const int *exp, int comp, gb_elem *&result)
int compare (const gb_elem *p, const gb_elem *q) const
void find_pairs (gb_elem *p)
void compute_s_pair (s_pair *p)
int gb_reduce (gbvector *&f, gbvector *&fsyz)
int gb_geo_reduce (gbvector *&f, gbvector *&fsyz)
void gb_insert (gbvector *f, gbvector *fsyz, int minlevel)
void inter_reduce (gb_elem *&gens)
ComputationStatusCode computation_complete () const
int s_pair_step (s_pair *p)
void resize (int nbits)
void minimalize_gb ()

Private Attributes

GBRingGR
GBWeightweightInfo_
const PolynomialRingoriginalR
const MonoidM
const RingK
const FreeModuleF
const FreeModuleFsyz
s_pair_heapspairs
gb_elemgb
gb_elemgbLarge
ReducedGBminimal_gb
bool minimal_gb_valid
MatrixConstructor syz
int n_gb
int n_syz
int n_subring
int n_pairs
int n_computed
int last_gb_num
int n_saved_gcd
int n_saved_lcm
int collect_syz
int n_comps_per_syz
char is_ideal
int strategy
int need_resize

Additional Inherited Members

Protected Member Functions inherited from GBComputation
 GBComputation ()
Protected Member Functions inherited from Computation
 Computation ()
enum ComputationStatusCode set_status (enum ComputationStatusCode)
virtual ~Computation ()
Protected Attributes inherited from Computation
StopConditions stop_

Detailed Description

A Groebner basis computation class for inhomogeneous input modules.

Works for homogeneous modules too. Poor performance in many cases, but dramatically good performance in others.

Definition at line 58 of file gb-sugarless.hpp.


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