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

GBRing specialisation for solvable polynomial algebras (PBW-style non-commutative rings whose relations have the form x_j * x_i = c_ij * x_i * x_j + lower-order terms). More...

#include <gbring.hpp>

Inheritance diagram for GBRingSolvable:
GBRing our_new_delete

Public Member Functions

virtual gbvectormult_by_term1 (const FreeModule *F, const gbvector *f, ring_elem u, const int *monom, int comp)
virtual ~GBRingSolvable ()
Public Member Functions inherited from GBRing
virtual ~GBRing ()
const Monoidget_flattened_monoid () const
const Ringget_flattened_coefficients () const
int n_vars () const
void memstats ()
bool is_skew_commutative () const
int n_skew_commutative_vars () const
int skew_variable (int i) const
const intskew_monomial_var (int i) const
bool is_weyl_algebra () const
bool is_schreyer_encoded () const
exponents_t exponents_make ()
void exponents_delete (exponents_t e)
size_t exponent_byte_size () const
const ring_elem one ()
void gbvector_remove (gbvector *f)
gbvectorgbvector_raw_term (ring_elem coeff, const int *monom, int comp)
gbvectorgbvector_term (const FreeModule *F, ring_elem coeff, int comp)
gbvectorgbvector_term (const FreeModule *F, ring_elem coeff, const int *monom, int comp)
gbvectorgbvector_term_exponents (const FreeModule *F, ring_elem coeff, const int *exp, int comp)
gbvectorgbvector_zero () const
void gbvector_sort (const FreeModule *F, gbvector *&f)
bool gbvector_is_zero (const gbvector *f) const
bool gbvector_is_equal (const gbvector *f, const gbvector *g) const
int gbvector_n_terms (const gbvector *f) const
void gbvector_multidegree (const FreeModule *F, const gbvector *f, int *&result_degree)
int gbvector_compare (const FreeModule *F, const gbvector *f, const gbvector *g) const
gbvectorgbvector_lead_term (int n, const FreeModule *F, const gbvector *f)
gbvectorgbvector_parallel_lead_terms (M2_arrayint w, const FreeModule *F, const gbvector *leadv, const gbvector *v)
void gbvector_get_lead_monomial (const FreeModule *F, const gbvector *f, int *result)
void gbvector_get_lead_exponents (const FreeModule *F, const gbvector *f, int *result)
int gbvector_lead_component (const gbvector *f)
void gbvector_mult_by_coeff_to (gbvector *f, ring_elem u)
gbvectorgbvector_mult_by_coeff (const gbvector *f, ring_elem u)
void gbvector_add_to_zzp (const FreeModule *F, gbvector *&f, gbvector *&g)
void gbvector_add_to (const FreeModule *F, gbvector *&f, gbvector *&g)
void gbvector_negate_to (gbvector *f) const
gbvectorgbvector_copy (const gbvector *f)
void find_reduction_coeffs (const FreeModule *F, const gbvector *f, const gbvector *g, ring_elem &u, ring_elem &v)
bool find_reduction_coeffs_ZZ (const FreeModule *F, const gbvector *f, const gbvector *g, ring_elem &v)
void find_reduction_monomial (const FreeModule *F, const gbvector *f, const gbvector *g, int &comp, int *&monom)
void gbvector_mult_by_term (const FreeModule *F, const FreeModule *Fsyz, ring_elem a, const int *m, const gbvector *f, const gbvector *fsyz, gbvector *&result, gbvector *&esult_syz)
void gbvector_reduce_lead_term (const FreeModule *F, const FreeModule *Fsyz, gbvector *flead, gbvector *&f, gbvector *&fsyz, const gbvector *g, const gbvector *gsyz, bool use_denom, ring_elem &denom)
void gbvector_reduce_lead_term (const FreeModule *F, const FreeModule *Fsyz, gbvector *flead, gbvector *&f, gbvector *&fsyz, const gbvector *g, const gbvector *gsyz)
void gbvector_reduce_with_marked_lead_term (const FreeModule *F, const FreeModule *Fsyz, gbvector *flead, gbvector *&f, gbvector *&fsyz, const gbvector *ginitial, const gbvector *g, const gbvector *gsyz, bool use_denom, ring_elem &denom)
bool gbvector_reduce_lead_term_ZZ (const FreeModule *F, const FreeModule *Fsyz, gbvector *&f, gbvector *&fsyz, const gbvector *g, const gbvector *gsyz)
void gbvector_cancel_lead_terms (const FreeModule *F, const FreeModule *Fsyz, const gbvector *f, const gbvector *fsyz, const gbvector *g, const gbvector *gsyz, gbvector *&result, gbvector *&result_syz)
void gbvector_replace_2by2_ZZ (const FreeModule *F, const FreeModule *Fsyz, gbvector *&f, gbvector *&fsyz, gbvector *&g, gbvector *&gsyz)
void gbvector_combine_lead_terms_ZZ (const FreeModule *F, const FreeModule *Fsyz, const gbvector *f, const gbvector *fsyz, const gbvector *g, const gbvector *gsyz, gbvector *&result, gbvector *&result_syz)
void reduce_lead_term_heap (const FreeModule *F, const FreeModule *Fsyz, const gbvector *fcurrent_lead, const_exponents exp, gbvector *flead, gbvectorHeap &f, gbvectorHeap &fsyz, const gbvector *g, const gbvector *gsyz)
void reduce_marked_lead_term_heap (const FreeModule *F, const FreeModule *Fsyz, const gbvector *fcurrent_lead, const_exponents exp, gbvector *flead, gbvectorHeap &f, gbvectorHeap &fsyz, const gbvector *marked_in_g, const gbvector *g, const gbvector *gsyz)
void gbvector_remove_content (gbvector *f, gbvector *fsyz, bool use_denom, ring_elem &denom)
void gbvector_remove_content (gbvector *f, gbvector *fsyz)
void gbvector_auto_reduce (const FreeModule *F, const FreeModule *Fsyz, gbvector *&f, gbvector *&fsyz, const gbvector *g, const gbvector *gsyz)
void gbvector_auto_reduce_ZZ (const FreeModule *F, const FreeModule *Fsyz, gbvector *&f, gbvector *&fsyz, const gbvector *g, const gbvector *gsyz)
void gbvector_text_out (buffer &o, const FreeModule *F, const gbvector *f, int nterms=-1) const
void gbvector_apply (const FreeModule *F, const FreeModule *Fsyz, gbvector *&f, gbvector *&fsyz, const gbvector *gsyz, const gbvector **elems, const gbvector **elems_syz, const gbvector **quotients)

Protected Member Functions

 GBRingSolvable (const Ring *K0, const Monoid *M0, const SolvableAlgebra *R0)
Protected Member Functions inherited from GBRing
gbvectornew_raw_term ()
void gbvector_remove_term (gbvector *f)
gbvectorgbvector_copy_term (const gbvector *t)
void divide_exponents (const int *exp1, const int *exp2, int *result) const
void exponent_syzygy (const int *exp1, const int *exp2, int *exp3, int *exp4)
gbvectormult_by_term (const FreeModule *F, const gbvector *f, ring_elem u, const int *monom, int comp)
int skew_mult_sign (int *exp1, int *exp2) const
void divide_coeff_exact_to_ZZ (gbvector *f, gmp_ZZ u) const
void lower_content_ZZ (gbvector *f, mpz_ptr content) const
void gbvector_remove_content_ZZ (gbvector *f, gbvector *fsyz, bool use_denom, ring_elem &denom) const
const gbvectorfind_coeff (const FreeModule *F, const gbvector *f, const gbvector *g) const
 GBRing (const Ring *K0, const Monoid *M0)

Friends

class GBRing

Additional Inherited Members

Static Public Member Functions inherited from GBRing
static GBRingcreate_PolynomialRing (const Ring *K, const Monoid *M)
static GBRingcreate_SkewPolynomialRing (const Ring *K0, const Monoid *M0, SkewMultiplication skew0)
static GBRingcreate_WeylAlgebra (const Ring *K0, const Monoid *M0, const WeylAlgebra *W0)
static GBRingcreate_SolvableAlgebra (const Ring *K0, const Monoid *M0, const SolvableAlgebra *R)
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 Attributes inherited from GBRing
bool _schreyer_encoded
const MonoidM
const RingK
bool _coeffs_ZZ
CoefficientRingZZpzzp
size_t gbvector_size
stashmem
int _nvars
bool _up_order
bool _is_skew
SkewMultiplication _skew
int *const * _skew_monoms
bool is_weyl
const WeylAlgebraweyl
bool is_solvable
const SolvableAlgebrasolvable
ring_elem _one
size_t exp_size
size_t monom_size

Detailed Description

GBRing specialisation for solvable polynomial algebras (PBW-style non-commutative rings whose relations have the form x_j * x_i = c_ij * x_i * x_j + lower-order terms).

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

mult_by_term1 consults the associated SolvableAlgebra to expand the lower-order correction terms whenever a monomial multiplication crosses a non-commuting pair.

Definition at line 670 of file gbring.hpp.


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