Simplify
simplification rules for algebraic numbers and functions
Calling Sequence
Parameters
Description
Examples
evala(Simplify(a))
evala(Simplify(a), opts)
a
-
expression involving algebraic numbers or algebraic functions
opts
(optional) literal name or a set of names: symmetry, expanded, eliminate, 'minpoly'
This function applies some simplification algorithms to an expression involving algebraic numbers or algebraic functions.
Algebraic functions and algebraic numbers may be represented by radicals or with the RootOf notation (see type,algnum, type,algfun, type,radnum, type,radfun).
The result will have the form P/Q, where P and Q are polynomials over the extension field. The powers of the RootOfs in the coefficients are positive and lower than the degree of the defining polynomials. In other words, the result is reduced.
Each option correspond to a simplification algorithm. If an option or a set of options is specified, then only the selected algorithms will be applied. If no option is specified, then all the methods will be used.
Supported options are described below:
symmetry : Attempt to eliminate indexed RootOf using properties of symmetric functions of the roots. This option essentially acts on expressions which are symmetric in the roots of a polynomial.
expanded : Expand the numerator P and the denominator Q. By default, partial factorization of polynomials are preserved.
eliminate : Attempt to eliminate indexed RootOf using simple relations satisfied by the roots a polynomial. Roots with the highest index are eliminated first.
'minpoly' : simplify the defining polynomial of the RootOfs.
Unlike evala@Normal, the function Simplify does not rationalize algebraic numbers and functions and does not rationalize leading coefficients of rational functions and polynomials. It does not neither cancel the greatest common divisor of the numerator and the denominator of a rational function.
If the RootOfs appearing in the input are independent, then this function will return 0 if and only if the input is mathematically equal to 0. It may not be so if the RootOfs are dependent or if the polynomial defining a RootOf is reducible.
If a contains functions, their arguments are reduced recursively and the functions are frozen before the computation proceeds.
Since the ordering of objects may vary from a session to another, the result may change accordingly.
Other objects are frozen and considered as variables, except in the cases below.
If a is a set, a list, a range, a relation, or a series, then Simplify is mapped over the object.
s1≔RootOf⁡_Z2+3⁢_Z+1,index=1
s2≔RootOf⁡_Z2+3⁢_Z+1,index=2
p≔s12+s22
p≔RootOf⁡_Z2+3⁢_Z+1,index=12+RootOf⁡_Z2+3⁢_Z+1,index=22
evala⁡Simplify⁡p,symmetry
7
d≔s1−s22
d≔RootOf⁡_Z2+3⁢_Z+1,index=1−RootOf⁡_Z2+3⁢_Z+1,index=22
evala⁡Simplify⁡d,symmetry
5
forito3doalias⁡αi=RootOf⁡_Z3+_Z+1,index=ienddo:p1≔x−α1⁢x−α2⁢x−α3
p1≔x−α1⁢x−α2⁢x−α3
evala⁡Simplify⁡p1,symmetry
x3+x+1
p2≔1α2+α1+1α1+α3+1α2+α3
evala⁡Simplify⁡p2,symmetry
1
p3≔α1⁢α22⁢α33
evala⁡Simplify⁡p3,eliminate
α12⁢α2+α2−1
p4≔x−α1⁢x2−α1α1+α22
p4≔x−α1⁢x2−α1α2+α12
evala⁡Simplify⁡p4
−x+α1⁢−x2+α1α1⁢α2−1
evala⁡Simplify⁡p4,expanded
x3−α1⁢x2−α1⁢x+α12α12+2⁢α1⁢α2+α22
evala⁡Simplify⁡p4,eliminate,expanded
x3−α1⁢x2−α1⁢x+α12α1⁢α2−1
p5≔RootOf⁡_Z4−4,index=3
evala⁡Simplify⁡p5,minpoly
RootOf⁡_Z2−2,index=2
p6≔mul⁡RootOf⁡_Z4−4,index=i,i=1..4
p6≔RootOf⁡_Z4−4,index=1⁢RootOf⁡_Z4−4,index=2⁢RootOf⁡_Z4−4,index=3⁢RootOf⁡_Z4−4,index=4
evala⁡Simplify⁡p6,minpoly
RootOf⁡_Z2−2,index=1⁢RootOf⁡_Z2+2,index=1⁢RootOf⁡_Z2−2,index=2⁢RootOf⁡_Z2+2,index=2
p7≔x3−x2⁢p5−p5⁢x+p52+x−p5
p7≔−RootOf⁡_Z4−4,index=3⁢x2+x3+RootOf⁡_Z4−4,index=32−RootOf⁡_Z4−4,index=3⁢x−RootOf⁡_Z4−4,index=3+x
p8≔RootOf⁡p7,index=2
p8≔RootOf⁡_Z3−RootOf⁡_Z4−4,index=3⁢_Z2+−RootOf⁡_Z4−4,index=3+1⁢_Z−RootOf⁡_Z4−4,index=3+2,index=2
evala⁡Simplify⁡p8
See Also
evala
Expand
Gcd
gcd
Normal
radnormal
RootOf
simplify
Download Help Document