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

The default Groebner basis computation class. More...

#include <gb-default.hpp>

Inheritance diagram for gbA:
GBComputation Computation MutableEngineObject our_gc_cleanup our_new_delete

Classes

struct  gbelem
struct  spair
struct  SPairSet

Public Types

enum  SPAIR {
  SPAIR_SPAIR , SPAIR_GCD_ZZ , SPAIR_RING , SPAIR_SKEW ,
  SPAIR_GEN , SPAIR_ELEM
}
typedef int gbelem_type

Public Member Functions

void remove_gb ()
virtual ~gbA ()
virtual int kind ()
void start_computation ()
virtual const PolynomialRingget_ring () const
virtual Computationset_hilbert_function (const RingElement *h)
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
void debug_spair (spair *p)
void debug_spairs (spair *spairlist)
void debug_spair_array (spairs &spairlist)
void show () const
void show_mem_usage ()
Public Member Functions inherited from GBComputation
virtual ~GBComputation ()
GBComputationcast_to_GBComputation () override
void text_out (buffer &o) const override
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 ()
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 gbAcreate (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, int max_reduction_count)
static gbAcreate_forced (const Matrix *m, const Matrix *gb, const Matrix *mchange)
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 Types

enum  gbA_state {
  STATE_NEWDEGREE , STATE_NEWPAIRS , STATE_HILB , STATE_SPAIRS ,
  STATE_GENS , STATE_AUTOREDUCE , STATE_DONE
}

Private Member Functions

typedef VECTOR (spair *) spairs
 VECTOR (gbelem *) gb
 VECTOR (int) forwardingZZ
int get_resolved_gb_index (int i) const
 VECTOR (gbvector *) _syz
void spair_set_defer (spair *&p)
exponents_t exponents_make ()
bool over_ZZ () const
void initialize (const Matrix *m, int csyz, int nsyz, M2_arrayint gb_weights, int strat, int max_reduction_count0)
spairnew_gen (int i, gbvector *f, ring_elem denom)
int gbelem_COMPONENT (gbelem *g)
int spair_COMPONENT (spair *s)
void insert_gb (POLY f, gbelem_type minlevel)
void replace_gb_element_ZZ (MonomialTableZZ::mon_term *t)
bool process_spair (spair *p)
void do_computation ()
gbelemgbelem_ring_make (gbvector *f)
gbelemgbelem_make (gbvector *f, gbvector *fsyz, gbelem_type minlevel, int deg)
gbelemgbelem_copy (gbelem *g)
void gbelem_text_out (buffer &o, int i, int nterms=3) const
spairspair_node ()
spairspair_make (int i, int j)
spairspair_make_gcd_ZZ (int i, int j)
spairspair_make_gen (POLY f)
spairspair_make_skew (int i, int v)
spairspair_make_ring (int i, int j)
void spair_text_out (buffer &o, spair *p)
void spair_delete (spair *&p)
bool spair_is_retired (spair *p) const
bool pair_not_needed (spair *p, gbelem *m)
void remove_unneeded_pairs (int id)
bool is_gcd_one_pair (spair *p)
spairs::iterator choose_pair (spairs::iterator first, spairs::iterator next)
void minimalize_pairs (spairs &new_set)
void minimalize_pairs_ZZ (spairs &new_set)
void minimalize_pairs_non_ZZ (spairs &new_set)
void update_pairs (int id)
void remove_spair_list (spair *&set)
void remove_SPairSet ()
void spair_set_insert (spair *p)
spairspair_set_next ()
int spair_set_determine_next_degree (int &nextdegree)
int spair_set_prepare_next_degree (int &nextdegree)
void spair_set_show_mem_usage ()
void spairs_sort (int len, spair *&list)
void spairs_reverse (spair *&ps)
void spair_set_lead_spoly (spair *p)
void flush_pairs ()
RingElementcompute_hilbert_function ()
Matrixmake_lead_term_matrix ()
void auto_reduce_by (int id)
void compute_s_pair (spair *p)
bool reduceit (spair *p)
void collect_syzygy (gbvector *fsyz)
enum ComputationStatusCode computation_is_complete ()
virtual bool stop_conditions_ok ()
bool reduce_ZZ (spair *p)
bool reduce_kk (spair *p)
void poly_auto_reduce (VECTOR(POLY) &mat)
void poly_auto_reduce_ZZ (VECTOR(POLY) &mat)
void remainder_by_ZZ (const FreeModule *F, const FreeModule *Fsyz, POLY &f, const VECTOR(POLY) &polys, MonomialTableZZ *T)
void minimalize_gb ()
int find_good_divisor (exponents_t e, int x, int degf, int &result_gap)
int find_good_monomial_divisor_ZZ (mpz_srcptr c, exponents_t e, int x, int degf, int &result_gap)
int find_good_term_divisor_ZZ (mpz_srcptr c, exponents_t e, int x, int degf, int &result_gap)
void remainder (POLY &f, int degf, bool use_denom, ring_elem &denom)
void remainder_ZZ (POLY &f, int degf, bool use_denom, ring_elem &denom)
void tail_remainder_ZZ (POLY &f, int degf)
void remainder_non_ZZ (POLY &f, int degf, bool use_denom, ring_elem &denom)

Private Attributes

stashspair_stash
stashgbelem_stash
size_t exp_size
stashlcm_stash
const PolynomialRingoriginalR
GBRingR
const GBWeightweightInfo_
M2_arrayint gb_weights
const FreeModule_F
const FreeModule_Fsyz
int _nvars
Ring::CoefficientType _coeff_type
int n_fraction_vars
bool is_local_gb
ReducedGBminimal_gb
bool minimal_gb_valid
MonomialTableringtable
const MonomialTableZZringtableZZ
MonomialTablelookup
MonomialTableZZlookupZZ
SPairSetS
int _strategy
int n_rows_per_syz
bool _collect_syz
bool _is_ideal
int first_gb_element
int first_in_degree
int complete_thru_this_degree
enum gbA::gbA_state state
int this_degree
int npairs
int np_i
int ar_i
int ar_j
int n_gb
int stats_ngcd1
int stats_nreductions
int stats_ntail
int stats_ngb
int stats_npairs
int stats_nretired
int n_syz
int n_pairs_computed
int n_gens_left
int n_subring
bool use_hilb
bool hilb_new_elems
int hilb_n_in_degree
int n_saved_hilb
const RingElementhf_orig
RingElementhf_diff
long max_reduction_count
int divisor_previous
int divisor_previous_comp

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

The default Groebner basis computation class.

Definition at line 60 of file gb-default.hpp.


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