#include <list>
#include <vector>
#include <algorithm>
#include <realroot/binomials.hpp>
#include <realroot/Seq.hpp>
#include <realroot/monomial.hpp>
#include <realroot/monomial_ordering.hpp>
Go to the source code of this file.
Classes
Namespaces
- namespace mmx
- namespace mmx::sparse
namespace for representation of polynomials as sequence of monomials
- namespace mmx::let
Namespace for explicit type conversion.
Defines
- #define TMPL template<class C, class O, class MONOM, class REP>
- #define TMPLX template<class C, class O, class MONOM, class REP, class X>
- #define Polynomial monomial_seq<C,O,MONOM,REP>
- #define CLASS monomial_seq
- #define sparse_monomials sparse::monomial_seq
- #define SparsePolynomial sparse:: monomial_seq<C,O,MONOM,REP>
Functions
- template<class C , class O , class MONOM , class REP > void add (monomial_seq< C, O, MONOM, REP > &result, const monomial_seq< C, O, MONOM, REP > &p1, const monomial_seq< C, O, MONOM, REP > &p2)
- template<class C , class O , class MONOM , class REP > void add (monomial_seq< C, O, MONOM, REP > &p1, const monomial_seq< C, O, MONOM, REP > &p2)
- Inplace addition.
- template<class C , class O , class MONOM , class REP , class I , class J , class M > I add (monomial_seq< C, O, MONOM, REP > &p1, I b1, J e1, const M &m2)
- template<class C , class O , class MONOM , class REP > void add (monomial_seq< C, O, MONOM, REP > &p, const typename monomial_seq< C, O, MONOM, REP >::monom_t &m)
- template<class C , class O , class MONOM , class REP > void add (monomial_seq< C, O, MONOM, REP > &p, const C &c)
- template<class C , class O , class MONOM , class REP , class X > void add (monomial_seq< C, O, MONOM, REP > &r, const monomial_seq< C, O, MONOM, REP > &q, const X &c)
- template<class C , class O , class MONOM , class REP > void add (monomial_seq< C, O, MONOM, REP > &r, const C &c, const monomial_seq< C, O, MONOM, REP > &q)
- template<class C , class O , class MONOM , class REP > void sub (monomial_seq< C, O, MONOM, REP > &result, const monomial_seq< C, O, MONOM, REP > &p1, const monomial_seq< C, O, MONOM, REP > &p2)
- template<class C , class O , class MONOM , class REP > void sub (monomial_seq< C, O, MONOM, REP > &p, const monomial_seq< C, O, MONOM, REP > &q)
- template<class C , class O , class MONOM , class REP , class X > void sub (monomial_seq< C, O, MONOM, REP > &r, const monomial_seq< C, O, MONOM, REP > &q, const X &c)
- template<class C , class O , class MONOM , class REP , class X > void sub (monomial_seq< C, O, MONOM, REP > &r, const X &c, const monomial_seq< C, O, MONOM, REP > &q)
- template<class C , class O , class MONOM , class REP > void mul (monomial_seq< C, O, MONOM, REP > &r, const C &c)
- Multiplication of a polynomial by a monomial or a scalar.
- template<class C , class O , class MONOM , class REP > void mul (monomial_seq< C, O, MONOM, REP > &r, const monomial_seq< C, O, MONOM, REP > &p, const C &c)
- template<class C , class O , class MONOM , class REP , class X > void mul (monomial_seq< C, O, MONOM, REP > &r, const X &c, const monomial_seq< C, O, MONOM, REP > &p)
- template<class C , class O , class MONOM , class REP , class M > void mul_ext (monomial_seq< C, O, MONOM, REP > &r, const monomial_seq< C, O, MONOM, REP > &a, const M &m)
- Multiplication of a polynomial by a monomial or a scalar.
- template<class C , class O , class MONOM , class REP > void mul (monomial_seq< C, O, MONOM, REP > &r, const monomial_seq< C, O, MONOM, REP > &a, const typename monomial_seq< C, O, MONOM, REP >::monom_t &m)
- Multiplication of a polynomial by a monomial or a scalar.
- template<class C , class O , class MONOM , class REP > void mul (monomial_seq< C, O, MONOM, REP > &r, const typename monomial_seq< C, O, MONOM, REP >::monom_t &m)
- Multiplication of a polynomial by a monomial or a scalar.
- template<class C , class O , class MONOM , class REP , class M > void mul_ext_e (monomial_seq< C, O, MONOM, REP > &result, const monomial_seq< C, O, MONOM, REP > &a, const M &m)
- template<class C , class O , class MONOM , class REP > void mul (monomial_seq< C, O, MONOM, REP > &r, const monomial_seq< C, O, MONOM, REP > &a, const monomial_seq< C, O, MONOM, REP > &b)
- Multiplication of two polynomials.
- template<class C , class O , class MONOM , class REP , class X > void mul (monomial_seq< C, O, MONOM, REP > &r, const monomial_seq< C, O, MONOM, REP > &a, const monomial_seq< C, O, MONOM, REP > &b, const X &o)
- Specialisation for list.
- template<class C , class O , class MONOM , class REP > void mul (monomial_seq< C, O, MONOM, REP > &r, typename monomial_seq< C, O, MONOM, REP >::const_iterator b, typename monomial_seq< C, O, MONOM, REP >::const_iterator e, const monomial_seq< C, O, MONOM, REP > &p)
- template<class C , class O , class MONOM , class REP > void mul (monomial_seq< C, O, MONOM, REP > &r, const monomial_seq< C, O, MONOM, REP > &p)
- template<class C , class O , class MONOM , class REP > void div (monomial_seq< C, O, MONOM, REP > &q, const monomial_seq< C, O, MONOM, REP > &a, const monomial_seq< C, O, MONOM, REP > &b)
- template<class C , class O , class MONOM , class REP > void div (monomial_seq< C, O, MONOM, REP > &r, const monomial_seq< C, O, MONOM, REP > &b)
- template<class C , class O , class MONOM , class REP > void div (monomial_seq< C, O, MONOM, REP > &f, const typename monomial_seq< C, O, MONOM, REP >::Scalar &c)
- template<class C , class O , class MONOM , class REP > void div (monomial_seq< C, O, MONOM, REP > &r, const monomial_seq< C, O, MONOM, REP > &p, const C &c)
- template<class C , class O , class MONOM , class REP > void rem (monomial_seq< C, O, MONOM, REP > &r, const monomial_seq< C, O, MONOM, REP > &a, const monomial_seq< C, O, MONOM, REP > &b)
- template<class C , class O , class MONOM , class REP , class U > void coefficients (Seq< U > &r, const monomial_seq< C, O, MONOM, REP > &f, int v)
- template<class C , class O , class MONOM , class REP > void coefficients (Seq< C > &r, const monomial_seq< C, O, MONOM, REP > &f)
- template<class R > int lvar (const R &p)
- Index of the leading variable (of maximal index) of a polynomial.
- template<class R > unsigned nbvar (const R &p)
- Number of variables of a polynomial.
- template<class R > int degree (const R &p)
- Degree of a polynomial.
- template<class R > int degree (const R &p, int i)
- Degree of a polynomial with respect to the i th variable..
- template<class R > R::coeff_t & leadingcoeff (R &a)
- template<class R > R::coeff_t leadingcoeff (const R &a)
- template<class POL > POL::coeff_t coeffof (const POL &p, const typename POL::monom_t &mono)
- template<class POL > POL::const_iterator last_term (const POL &p)
- template<class R > void div_rem (R &q, R &a, const R &b0)
- Divide @ in place by @, concidering all the monomials.
- template<class C , class O , class MONOM , class REP > void diff (monomial_seq< C, O, MONOM, REP > &r, const monomial_seq< C, O, MONOM, REP > &p, int i)
- Derivative of
@ with respect to $^{ th}$ variable put in @.
- template<class C , class O , class MONOM , class REP > void shift (monomial_seq< C, O, MONOM, REP > &r, const monomial_seq< C, O, MONOM, REP > &p, const typename monomial_seq< C, O, MONOM, REP >::monom_t &m)
- Multiply
@ by a monomial @ and put in @.
- template<class C , class O , class MONOM , class REP > void copy (monomial_seq< C, O, MONOM, REP > &r, const monomial_seq< C, O, MONOM, REP > &a)
- Copy of @ in @.
- template<class C , class O , class MONOM , class REP > monomial_seq< C, O, MONOM, REP >
::coeff_t eval (const monomial_seq< C, O, MONOM, REP > &p, const typename monomial_seq< C, O, MONOM, REP >::coeff_t &x, const typename monomial_seq< C, O, MONOM, REP >::coeff_t &y)
- template<class C , class O , class MONOM , class REP , class R , class VCT > void eval_at (R &r, const monomial_seq< C, O, MONOM, REP > &p, const VCT &x)
- template<class R , class C , class O , class MONOM , class REP , class X > void eval (R &r, const monomial_seq< C, O, MONOM, REP > &p, const X &x)
- template<class C , class O , class MONOM , class REP > void homogenize (monomial_seq< C, O, MONOM, REP > &r, const monomial_seq< C, O, MONOM, REP > &p, const monomial_seq< C, O, MONOM, REP > &v)
- template<class C , class O , class MONOM , class REP > void homogenize (monomial_seq< C, O, MONOM, REP > &r, const monomial_seq< C, O, MONOM, REP > &p, int n, const monomial_seq< C, O, MONOM, REP > &v)
- template<class MP > MP convert (const MP &P, typename MP::coeff_t x, typename MP::coeff_t y, int ind)
- template<class OS , class C , class O , class MONOM , class REP , class VARIABLES > OS & print (OS &os, const monomial_seq< C, O, MONOM, REP > &P, const VARIABLES &V)
- template<class OS , class C , class O , class MONOM , class REP , class VARIABLES > OS & print_as_double (OS &os, const monomial_seq< C, O, MONOM, REP > &P, const VARIABLES &V)
- template<class OS , class C , class O , class MONOM , class REP > OS & print (OS &os, const monomial_seq< C, O, MONOM, REP > &P)
- template<class OS , class C , class O , class MONOM , class REP > OS & print_verbatim (OS &os, const monomial_seq< C, O, MONOM, REP > &P)
- template<class POL , class C > POL shift (typename POL::const_iterator monom, const C &a, int i)
- template<class POL , class C > POL scale (const POL &p, C a, int v)
- template<class T , class MP , class V > T eval (const MP &p, const V &v)
- template<class R , class MP , class V > void eval (R &r, const MP &p, const V &v, unsigned n)
- template<class MP , class X > MP subs (unsigned var, const X &val, const MP &P)
- template<class MP > MP subs (const MP &P, int var, typename MP::coeff_t val)
- template<class MP > MP subs (const MP &P, char *x, typename MP::coeff_t val)
- template<class T > void print (const T &x)
- template<class MP > MP swap (const MP &P, int var_i, int var_j)
- template<class MP > MP swap (const MP &P, char *x_i, char *x_j)
- template<class C , class O , class MONOM , class REP > C content (const monomial_seq< C, O, MONOM, REP > &P)
- template<class C , class O , class MONOM , class REP > void assign (sparse::monomial_seq< C, O, MONOM, REP > &p, const C &c)
- template<class U , class V , class O , class UMONOM , class UREP , class VMONOM , class VREP > void assign (sparse::monomial_seq< U, O, UMONOM, UREP > &p, const sparse::monomial_seq< V, O, VMONOM, VREP > &q)
Define Documentation
#define CLASS monomial_seq |
#define Polynomial monomial_seq<C,O,MONOM,REP> |
#define sparse_monomials sparse::monomial_seq |
#define SparsePolynomial sparse:: monomial_seq<C,O,MONOM,REP> |
#define TMPL template<class C, class O, class MONOM, class REP> |
#define TMPLX template<class C, class O, class MONOM, class REP, class X> |