|  |  5.1.143 simplify 
See
 ideal;
 module;
 poly;
 vector.Syntax:simplify (poly_expression,int_expression)
 simplify (vector_expression,int_expression)
 simplify (ideal_expression,int_expression)
 simplify (module_expression,int_expression)Type:the type of the first argument
Purpose:returns the "simplified" first argument depending on the simplification rules
specified by the second argument.
The simplification rules are the following
functions:
1normalize (divide by leading coefficient if this is a unit of the ground field/ring).
2erase zero generators/columns.
4erase copies of earlier listed generators/columns.
8erase generators/columns which a scalar multiples (w.r.t. ground field/ring) of earlier listed generators/columns.
16erase generators/columns whose leading monomials are copies of leading monomials of earlier listed generators/columns such that the coefficients of both leading terms are units in the ground field/ring.
32erase generators/columns whose leading terms are divisible by leading terms of other (not necessarily earlier) listed generators/columns.
64normalize each coefficient of every monomial (of every polynomial)
Example:|  | ring r=0,(x,y,z),(c,dp);
ideal i=0,2x,2x,4x,3x+y,5x2;
simplify(i,1);
==> _[1]=0
==> _[2]=x
==> _[3]=x
==> _[4]=x
==> _[5]=x+1/3y
==> _[6]=x2
simplify(i,2);
==> _[1]=2x
==> _[2]=2x
==> _[3]=4x
==> _[4]=3x+y
==> _[5]=5x2
simplify(i,4);
==> _[1]=0
==> _[2]=2x
==> _[3]=0
==> _[4]=4x
==> _[5]=3x+y
==> _[6]=5x2
simplify(i,8);
==> _[1]=0
==> _[2]=2x
==> _[3]=0
==> _[4]=0
==> _[5]=3x+y
==> _[6]=5x2
simplify(i,16);
==> _[1]=0
==> _[2]=2x
==> _[3]=0
==> _[4]=0
==> _[5]=0
==> _[6]=5x2
simplify(i,32);
==> _[1]=0
==> _[2]=2x
==> _[3]=0
==> _[4]=0
==> _[5]=0
==> _[6]=0
simplify(i,32+2+1);
==> _[1]=x
matrix A[2][3]=x,0,2x,y,0,2y;
simplify(A,2+8); // by automatic conversion to module
==> _[1]=[x,y]
 | 
 |