WOLFRAM LANGUAGE TUTORIAL

# Algebraic Numbers

Root[f,k] | the k root of the polynomial equation |

The representation of algebraic numbers.

When you enter a

Root object, the polynomial that appears in it is automatically reduced to a minimal form.

Out[1]= | |

This extracts the pure function which represents the polynomial, and applies it to

.

Out[2]= | |

Root objects are the way that the Wolfram Language represents *algebraic numbers*. Algebraic numbers have the property that when you perform algebraic operations on them, you always get a single algebraic number as the result.

Here is the square root of an algebraic number.

Out[3]= | |

Out[4]= | |

Here is a more complicated expression involving an algebraic number.

Out[5]= | |

Again this can be reduced to a single

Root object, albeit a fairly complicated one.

Out[6]= | |

Operations on algebraic numbers.

In this simple case the

Root object is automatically expressed in terms of radicals.

Out[7]= | |

When cubic polynomials are involved,

Root objects are not automatically expressed in terms of radicals.

Out[8]= | |

Out[9]= | |

If Solve and ToRadicals do not succeed in expressing the solution to a particular polynomial equation in terms of radicals, then it is a good guess that this fundamentally cannot be done. However, you should realize that there are some special cases in which a reduction to radicals is in principle possible, but the Wolfram System cannot find it. The simplest example is the equation , but here the solution in terms of radicals is very complicated. The equation is another example, where now is a solution.

This gives a

Root object involving a degree six polynomial.

Out[10]= | |

Even though a simple form in terms of radicals does exist,

ToRadicals does not find it.

Out[11]= | |

Beyond degree four, most polynomials do not have roots that can be expressed at all in terms of radicals. However, for degree five it turns out that the roots can always be expressed in terms of elliptic or hypergeometric functions. The results, however, are typically much too complicated to be useful in practice.

RootSum[f,form] | the sum of for all satisfying the polynomial equation |

Normal[expr] | the form of expr with RootSum replaced by explicit sums of Root objects |

Sums of roots.

This computes the sum of the reciprocals of the roots of

.

Out[12]= | |

Now no explicit result can be given in terms of radicals.

Out[13]= | |

This expands the

RootSum into an explicit sum involving

Root objects.

Out[14]= | |

RootApproximant[x] | converts the number x to one of the "simplest" algebraic numbers that approximates it well |

RootApproximant[x,n] | finds an algebraic number of degree at most n that approximates x |

This recovers

from a numerical approximation.

Out[15]= | |

In this case, the result has degree at most 4.

Out[16]= | |

This confirms that the

Root expression does correspond to

.

Out[17]= | |