|
Macaulay2 Engine
|
QRingInfo specialisation for quotients of polynomial rings over ZZ. More...
#include <qring.hpp>
Public Member Functions | |
| QRingInfo_ZZ (const PolyRing *ambientR, const VECTOR(Nterm *) "ients) | |
| void | destroy (GBRing *GR) |
| ~QRingInfo_ZZ () | |
| bool | is_ZZ_quotient () const |
| ring_elem | ZZ_quotient_value () const |
| void | normal_form (ring_elem &f) const |
| void | gbvector_normal_form (const FreeModule *F, gbvector *&f) const |
| virtual const MonomialTableZZ * | get_quotient_MonomialTableZZ () const |
| Public Member Functions inherited from QRingInfo | |
| QRingInfo () | |
| virtual | ~QRingInfo () |
| int | n_quotients () const |
| Nterm * | quotient_element (int i) const |
| const gbvector * | quotient_gbvector (int i) const |
| virtual void | gbvector_normal_form (const FreeModule *F, gbvector *&f, bool use_denom, ring_elem &denom) const |
| virtual const MonomialIdeal * | get_quotient_monomials () const |
| virtual MonomialTable * | get_quotient_MonomialTable () const |
Private Member Functions | |
| bool | reduce_lead_term_ZZ (Nterm *&f, const Nterm *g) const |
Private Attributes | |
| MonomialTableZZ * | ringtableZZ |
| bool | is_ZZ_quotient_ |
| ring_elem | ZZ_quotient_value_ |
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 QRingInfo | |
| void | appendQuotientElement (Nterm *f, gbvector *g) |
| QRingInfo (const PolyRing *R) | |
| Protected Attributes inherited from QRingInfo | |
| const PolyRing * | R |
| bool | overZZ_ |
| size_t | exp_size |
| size_t | monom_size |
QRingInfo specialisation for quotients of polynomial rings over ZZ.
Replaces the field-side MonomialTable with a MonomialTableZZ and tracks the is_ZZ_quotient_ / ZZ_quotient_value_ pair so that if the defining ideal contains a non-zero integer, coefficient reductions can be short-circuited modulo that integer. reduce_lead_term_ZZ drives both normal_form and gbvector_normal_form.