Introductory examples:
Powers of radicals and RootOfs are reduced. Nested and mixed radicals and RootOfs are handled as well:
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:
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:
If the input has floating point coefficients, only expand is applied to it:
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:
Using option 'characteristic', expansion can be performed over finite fields:
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:
With option 'makeindependent'=false, the input will never be checked for algebraic dependencies: