Introductory examples:
>
|
|
>
|
|
| (2) |
Powers of radicals and RootOfs are reduced. Nested and mixed radicals and RootOfs are handled as well:
>
|
|
| (4) |
| (5) |
>
|
|
| (7) |
>
|
|
>
|
|
| (9) |
Algebraic functions in the coefficients are not accepted:
>
|
|
Non-algebraic subexpressions are first handled recursively (unless option 'recursive'=false is present) and then temporarily replaced by new variables:
>
|
|
>
|
|
| (11) |
Non-algebraic subexpressions may evaluate to something algebraic after recursive treatment:
>
|
|
Products and powers of polynomials in denominators will not be expanded, but other expressions in denominators will be expanded recursively:
| (15) |
If the input has floating point coefficients, only expand is applied to it:
>
|
|
| (16) |
>
|
|
If there is a RootOf in the input whose leading coefficient is not invertible, the output may not satisfy all of the properties listed above. By using option 'symbolic'=true, Expand can be forced to eliminate the zero divisor by making a substitution:
>
|
|
| (18) |
>
|
|
Using option 'characteristic', expansion can be performed over finite fields:
>
|
|
>
|
|
| (21) |
>
|
|
The polynomial defining a RootOf will also be reduced modulo the characteristic:
>
|
|
The expansion cannot always be performed in composite characteristic:
>
|
|
>
|
|
With option 'makeindependent'=true, the input will be checked for algebraic dependencies even if there are more than algebraic objects in the input:
>
|
|
| (25) |
>
|
|
| (26) |
>
|
|
| (27) |
>
|
|
| (28) |
>
|
|
| (29) |
>
|
|
| (30) |
>
|
|
| (31) |
>
|
|
With option 'makeindependent'=false, the input will never be checked for algebraic dependencies:
>
|
|
| (33) |