Simplify - Simplification rules for algebraic numbers and functions
|
Calling Sequence
|
|
evala(Simplify(a))
evala(Simplify(a), opts)
|
|
Parameters
|
|
a
|
-
|
expression involving algebraic numbers or algebraic functions
|
opts
|
-
|
(optional) literal name or a set of names: symmetry, expanded, eliminate, 'minpoly'
|
|
|
|
|
Description
|
|
•
|
This function applies some simplification algorithms to an expression involving algebraic numbers or algebraic functions.
|
•
|
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.
|
|
|
Examples
|
|
>
|
|
| (1) |
>
|
|
| (2) |
>
|
|
| (3) |
>
|
|
| (4) |
>
|
|
| (5) |
>
|
|
| (6) |
>
|
|
| (7) |
>
|
|
| (8) |
>
|
|
| (9) |
>
|
|
| (10) |
>
|
|
| (11) |
>
|
|
| (12) |
>
|
|
| (13) |
>
|
|
| (14) |
>
|
|
| (15) |
>
|
|
| (16) |
>
|
|
| (17) |
>
|
|
| (18) |
>
|
|
| (19) |
>
|
|
| (20) |
>
|
|
| (21) |
>
|
|
| (22) |
>
|
|
| (23) |
>
|
|
|
|