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

Quotient of a FreeAlgebra by a Groebner basis up to a fixed degree bound. More...

#include <FreeAlgebraQuotient.hpp>

Inheritance diagram for FreeAlgebraQuotient:
our_new_delete

Public Member Functions

 FreeAlgebraQuotient (const FreeAlgebra &A, const ConstPolyList &GB, int maxdeg)
const FreeMonoidmonoid () const
const MonoiddegreeMonoid () const
const FreeAlgebrafreeAlgebra () const
const RingcoefficientRing () const
int numVars () const
unsigned int computeHashValue (const Poly &a) const
void normalizeInPlace (Poly &f) const
void init (Poly &f) const
void clear (Poly &f) const
void setZero (Poly &f) const
void from_coefficient (Poly &result, const ring_elem a) const
void from_long (Poly &result, long n) const
void from_int (Poly &result, mpz_srcptr n) const
bool from_rational (Poly &result, const mpq_srcptr q) const
void copy (Poly &result, const Poly &f) const
void swap (Poly &f, Poly &g) const
void var (Poly &result, int v) const
void from_word (Poly &result, const std::vector< int > &word) const
void from_word (Poly &result, ring_elem coeff, const std::vector< int > &word) const
long n_terms (const Poly &f) const
bool is_unit (const Poly &f) const
bool is_zero (const Poly &f) const
bool is_equal (const Poly &f, const Poly &g) const
int compare_elems (const Poly &f, const Poly &g) const
void negate (Poly &result, const Poly &f) const
void add (Poly &result, const Poly &f, const Poly &g) const
void subtract (Poly &result, const Poly &f, const Poly &g) const
void mult (Poly &result, const Poly &f, const Poly &g) const
void power (Poly &result, const Poly &f, int n) const
void power (Poly &result, const Poly &f, mpz_srcptr n) const
ring_elem eval (const RingMap *map, const Poly &f, int first_var) const
void elem_text_out (buffer &o, const Poly &f, bool p_one, bool p_plus, bool p_parens) const
bool is_homogeneous (const Poly &f) const
const_monomial degree (const Poly &f) const
bool multi_degree (const Poly &f, monomial already_allocated_degree_vector) const
SumCollectormake_SumCollector () const

Private Attributes

const FreeAlgebramFreeAlgebra
NCGroebner mGroebner
int mMaxdeg

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

Quotient of a FreeAlgebra by a Groebner basis up to a fixed degree bound.

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

Owns the defining basis through an NCGroebner and forwards the usual ring operations to mFreeAlgebra, then runs normalizeInPlace on the result so every output stays in canonical form modulo the relations. mMaxdeg bounds the degrees up to which the GB is reliable. Note that this class does NOT inherit from Ring — the engine uses the wrapper M2FreeAlgebra / M2FreeAlgebraOrQuotient to lift it into the Ring hierarchy.

Definition at line 75 of file FreeAlgebraQuotient.hpp.


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