> <\body> Multivariate polynomials in functional representation over are implemented in the class C\>|mmx::dag_polynomial>, defined in |multimix/dag_polynomial.hpp>. <\cpp-code> #include \numerix/integer.hpp\ #include \multimix/dag_polynomial.hpp\ ... monomial\\ e (vec\nat\ (1, 2)); dag_polynomial\integer\ x (integer (2), e); // defines the term 2 * x * y^2 An upper bound on the degree can be obtained with |integer mmx::degree_bound(const dag_polynomial\< C \> &p)>. Dag polynomials can also be directly constructed from C\>|mmx::sparse_polynomial>. Dag polynomials can be evaluated straightforwardly with the |vector\ C \ mmx::eval(const slp_tangent\ C \ &f, const vector\ C \ &v)> function. However for evaluating at several points, it is more efficient to build a first as follows: <\cpp-code> #include \dag_polynomial.hpp\ ... vector\dag_polynomial\C\ \ dags= ...; slp_polynomial\C\ slp= as_slp (dags); \; vector\C\ a, b, c,...; // points to evaluate at vector\C\ va= slp (a); // values of dags at a vector\C\ vb= slp (b); // values of dags at b vector\C\ vc= slp (c); // values of dags at c Straight-line programs are defined in |multimix/slp_polynomial.hpp>. The expansion of a dag polynomial into a sparse polynomial can be achieved deterministically the function |sparse_polynomial\< C \> mmx::as_sparse_polynomial(const dag_polynomial\< C \> &f)>. It is also possible to convert a dag polynomial over or into functions of type integer,const vector\C\&,const integer&\> by using |function_2\ integer, const vector\ rational \ &, const integer & \ mmx::as_function_modulo(const dag_polynomial\ rational \ &f)>. Then the probabilistic sparse interpolation functions of |multimix/sparse_interpolation.hpp> can be used, or, in a simpler way: <\cpp-code> dag_polynomial\integer\ dag= ... sparse_polynomial\integer\ pol; bool b= pr_set_as_sparse_polynomial (pol, dag); If is false, this means that the sparse interpolation algorithm has failed. Otherwise contains a candidate that is probable but not guaranteed. . If you don't have this file, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.> <\initial> <\collection>