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

Single-level view of a tower-polynomial ring: a DPoly plus a fixed working level and a Tower-flavoured ring_type typedef. More...

#include <dpoly.hpp>

Inheritance diagram for DRing:
our_new_delete

Public Types

typedef Tower ring_type
typedef TowerPolynomial elem

Public Member Functions

DPolygetDPoly () const
void init_set (elem &result, elem a) const
void set_zero (elem &result) const
void set (elem &result, elem a) const
bool is_zero (elem result) const
bool invert (elem &result, elem a) const
void add_term (elem &result, long coeff, exponents_t exp) const
void add (elem &result, elem a, elem b) const
void subtract (elem &result, elem a, elem b) const
void subtract_multiple (elem &result, elem a, elem b) const
void mult (elem &result, elem a, elem b) const
void divide (elem &result, elem a, elem b) const
void remainder (elem &result, elem a, elem b) const
void to_ring_elem (ring_elem &result, const elem a) const
void from_ring_elem (elem &result, const ring_elem &a) const
void swap (elem &a, elem &b) const
bool is_one (const TowerPolynomial f)
bool is_equal (const TowerPolynomial f, const TowerPolynomial g)
bool compare (const TowerPolynomial f, const TowerPolynomial g)
bool is_unit (const TowerPolynomial g)
void set_var (TowerPolynomial &result, int n)
void set_from_long (TowerPolynomial &result, long r)
void set_from_int (TowerPolynomial &result, mpz_srcptr r)
bool set_from_mpq (TowerPolynomial &result, mpq_srcptr r)
void set_random (TowerPolynomial &result)
void elem_text_out (buffer &o, const TowerPolynomial f, bool p_one, bool p_plus, bool p_parens, M2_ArrayString names) const
void gcd (TowerPolynomial &result, const TowerPolynomial f, const TowerPolynomial g)
void gcd_coefficients (TowerPolynomial &result_gcd, TowerPolynomial &result_u, TowerPolynomial &result_v, const TowerPolynomial f, const TowerPolynomial g)
void extensions_text_out (buffer &o, M2_ArrayString names) const
int degree (int var, const TowerPolynomial f) const
void diff (int var, TowerPolynomial &result, const TowerPolynomial f) const
int extension_degree (int firstvar)
void power_mod (TowerPolynomial &result, const TowerPolynomial f, mpz_srcptr n, const TowerPolynomial g) const
void lowerP (TowerPolynomial &result, const TowerPolynomial f)
int index_of_var (const TowerPolynomial f) const
void degrees_of_vars (const TowerPolynomial f, std::vector< int > &result) const

Static Public Member Functions

static DRingcreate (long p, int nvars0, const TowerPolynomial *ext0)
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 Member Functions

 DRing (long charac, int nvars, const TowerPolynomial *exts)

Private Attributes

int level
DPoly D
long P

Detailed Description

Single-level view of a tower-polynomial ring: a DPoly plus a fixed working level and a Tower-flavoured ring_type typedef.

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

Wraps the DPoly engine so the rest of the engine can treat a particular variable level as an ordinary ring with operations add / mult / invert / ... on elem = TowerPolynomial. create() is the factory that bundles characteristic, variable count, and extension chain into a fresh DRing. Used as the coefficient ring of the higher-level Tower class.

Definition at line 265 of file dpoly.hpp.


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