|
| DPoly * | getDPoly () 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 |
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.