PolynomialTools[MinimalPolynomial] - find minimal polynomial for an approximate root
PolynomialTools[AnnihilatingPolynomial] - find an annihilating polynomial for an approximate root
MinimalPolynomial(r, x, n, acc)
AnnihilatingPolynomial(r, x, n, acc)
(optional) variable name
degree of the polynomial sought
(optional) desired accuracy of the approximation
The MinimalPolynomial and AnnihilatingPolynomial functions use the lattice algorithm to find a polynomial of degree n (or less) with small integer coefficients which has the given approximation r of an algebraic number as one of its roots. The output of MinimalPolynomial will be an irreducible polynomial, while the output of AnnihilatingPolynomial may be a polynomial of degree closer to the bound n.
If a name is not specified for the variable x, then _X is used.
The root r may be real or complex. It may be input as a floating-point approximation to a root or as an exact algebraic number. In the latter case, it will first be evaluated in floating point at Digits precision. This procedure is intended for approximate inputs. If r is an exact algebraic number then the minimum polynomial can be found with the command evala(Norm(_X-r)), where r is in RootOf notation.
The value acc⁢f⁡r is given the same weight as the coefficients in determining f, the minimal polynomial. If it is not specified, the default value for acc is 10Digits−2max⁡1,rn.
This function is part of the PolynomialTools package, and so it can be used in the form MinimalPolynomial(..) only after executing the command with(PolynomialTools). However, it can always be accessed through the long form of the command by using PolynomialTools[MinimalPolynomial](..).
The output of MinimalPolynomial(r, n, acc) prior to Maple 18 used the variable x. As of Maple 18, the default variable used is _X. You can change this using the x option.
The PolynomialTools[MinimalPolynomial] and PolynomialTools[AnnihilatingPolynomial] commands were introduced in Maple 18.
The x parameter was introduced in Maple 18.
For more information on Maple 18 changes, see Updates in Maple 18.
If r is less than 1, and the tolerance is set low, the output of AnnihilatingPolynomial could be a simple monomial.
Setting the tolerance higher can help avoid such trivial output.
The minimum polynomial of the exact expression s can be determined by:
evala/Norm, IntegerRelations[LLL], LinearAlgebra[MinimalPolynomial]
Download Help Document