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

Heuristic-weight evaluator for gbvectors, used during Groebner basis computation to drive the S-pair sugar strategy. More...

#include <gbweight.hpp>

Inheritance diagram for GBWeight:
our_new_delete

Public Member Functions

 GBWeight (const FreeModule *F, M2_arrayint wts)
 ~GBWeight ()
M2_arrayint get_weights () const
int exponents_weight (const_exponents e, int comp) const
int gbvector_term_weight (const gbvector *f) const
int gbvector_weight (const gbvector *f) const
int gbvector_weight (const gbvector *f, int &lead_term_weight) const
int monomial_weight (const_monomial m, int comp) const

Private Attributes

M2_arrayint wts_
bool use_component_degrees_
const FreeModuleF_
int nvars_
GBRingR_
size_t exp_size
long * Fdegs_

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)

Detailed Description

Heuristic-weight evaluator for gbvectors, used during Groebner basis computation to drive the S-pair sugar strategy.

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

Caches a per-variable weight vector (wts_), an optional flag use_component_degrees_ that mixes in the target free module's component degrees, and a Fdegs_ table of per-component degree shifts pulled from F_. The weight of a gbvector is then the wts_-weighted sum of the leading monomial's exponents plus Fdegs_[component], computed without allocating a temporary exponent vector longer than exp_size.

Definition at line 64 of file gbweight.hpp.


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