|
5.1.136 simplify
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:
1
- normalize (divide by leading coefficient if this is a unit of the ground field/ring).
2
- erase zero generators/columns.
4
- erase copies of earlier listed generators/columns.
8
- erase generators/columns which a skalar multiples (w.r.t. ground field/ring) of earlier listed generators/columns.
16
- erase 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.
32
- erase generators/columns whose leading terms are divisible by leading terms of other (not necessarily earlier) listed generators/columns.
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]
|
See
ideal;
module;
poly;
vector.
|