Root
✖
Root
represents the j coordinate of the exact root of the system of equations {f1[x1,…,xn]0,…,fn[x1,…,xn]0} near {x1,…,xn}={c1,…,cn}.
represents the last coordinate of the exact vector {a1,a2,…} such that ai is the ki root of the polynomial equation fi[a1,…,ai-1,x]0.
Details and Options




- Root is also known as an algebraic number when f is polynomial with integer coefficients or a transcendental number when there is no such polynomial f possible.
- Root is typically used to represent an exact number and is automatically generated by a variety of algebra, calculus, optimization and geometry functions.
- Root represents an exact number as a solution to an equation f[x]0 with additional information specifying which of the roots is intended.
- Root numbers can be used like any other numbers, both in exact and approximate computations.
- Root numbers are formatted as
where approx is a numerical approximation. An approximation to precision p can be computed using N[
,p].
- For most uses, Root objects are automatically generated and can be directly used. For advanced uses, when your code is going to directly generate Root objects, a deeper understanding of the different representations is necessary.
- There are two distinct mechanisms used to specify which root of an equation is represented, the neighborhood representation Root[{f,c}] and the indexing representation Root[f,k].
- The root neighborhood representation Root[{f,c}] specifies the equation f[x]0 as well as the neighborhood rectangle centered at c and width
and height
.
- The root neighborhood representation for systems Root[{{f1,…,fn},{c1,…,cn}},j] similarly specifies a system of equations {f1[x1,…,xn]0,…,fn[x1,…,xn]0} and a neighborhood given by the product of rectangles from ci for the different coordinates.
- The root neighborhood representation Root[{f,c,m}] specifies that f[x]0 has a root of multiplicity m in the neighborhood given by c. However, it may be a cluster of closely spaced roots and by refining the neighborhood c, i.e. higher precision root approximation, they may separate. »
- The root indexing representation Root[f,k] applies to polynomial functions f only. The indexing of roots takes the real roots first, in increasing order. For polynomials with rational coefficients, the complex conjugate pairs of roots have consecutive indices.
- The root indexing representation for systems Root[{f1,f2,…,fk},{k1,k2,…,kn}] applies to triangular systems of polynomial equations only. Given equations f1[x1]0, f2[x1,x2]0, …, fn[x1,x2,…,xn]0, we recursively define r1 as the k1
root of f1[x1]0, r2 as the k2
root of f2[r1,x2]0 and finally rn as the kn
root of fn[r1,…,rn-1,xn]0. The represented root is rn.




Examples
open allclose allBasic Examples (4)Summary of the most common use cases

https://wolfram.com/xid/0bufdu-bdurr3


https://wolfram.com/xid/0bufdu-ert7mz

Real solutions to an exp-log equation:

https://wolfram.com/xid/0bufdu-bmnrzp

Real solution to a system of equations:

https://wolfram.com/xid/0bufdu-dadpy5

A solution instance to a system of transcendental equations:

https://wolfram.com/xid/0bufdu-d2uoa

Scope (22)Survey of the scope of standard use cases
Basic Uses (5)
Some exact values are generated automatically:

https://wolfram.com/xid/0bufdu-437zr


https://wolfram.com/xid/0bufdu-b7y6l


https://wolfram.com/xid/0bufdu-sfd43


https://wolfram.com/xid/0bufdu-gwq17l


https://wolfram.com/xid/0bufdu-lovdf3


https://wolfram.com/xid/0bufdu-eb0akk


https://wolfram.com/xid/0bufdu-bequb0


https://wolfram.com/xid/0bufdu-g9x6cn

Convert radicals to a Root object:

https://wolfram.com/xid/0bufdu-dbty73

Convert a Root object to radicals:

https://wolfram.com/xid/0bufdu-h06f8i

Disable the elided formatting of Root:

https://wolfram.com/xid/0bufdu-e7km56

https://wolfram.com/xid/0bufdu-yarb

Re-enable the elided formatting:

https://wolfram.com/xid/0bufdu-e6a2aa

https://wolfram.com/xid/0bufdu-bvjjkz

Roots of Univariate Functions (4)
Real roots of an exp-log function:

https://wolfram.com/xid/0bufdu-dhdgkq

The Root representation involves a univariate function and an approximation that isolates the root:

https://wolfram.com/xid/0bufdu-om2p8r


https://wolfram.com/xid/0bufdu-453at

The Root object is an exact numeric expression:

https://wolfram.com/xid/0bufdu-cwigca


https://wolfram.com/xid/0bufdu-cy2y03

Roots of an analytic function in a bounded region:

https://wolfram.com/xid/0bufdu-beor2b


https://wolfram.com/xid/0bufdu-b09x88


https://wolfram.com/xid/0bufdu-rlh2g

This representation is used for roots of polynomials of degrees that exceed $MaxRootDegree:

https://wolfram.com/xid/0bufdu-e39j6v


https://wolfram.com/xid/0bufdu-dnb6ca


https://wolfram.com/xid/0bufdu-cgkumb

The approximation used to represent the root is equal to , but the root is not:

https://wolfram.com/xid/0bufdu-d09u7j

Roots of Multivariate Systems (1)
Find a solution instance to a system of transcendental equations:

https://wolfram.com/xid/0bufdu-jrjcl3

The roots are exact numeric expressions:

https://wolfram.com/xid/0bufdu-cihoww


https://wolfram.com/xid/0bufdu-eufpfq

The Root representation involves a multivariate system and an approximation that isolates the root:

https://wolfram.com/xid/0bufdu-osj7y1

Roots of Univariate Polynomials (10)
Roots of a univariate polynomial with rational coefficients are algebraic numbers:

https://wolfram.com/xid/0bufdu-fys1zz


https://wolfram.com/xid/0bufdu-bbev1

The polynomials are automatically reduced:

https://wolfram.com/xid/0bufdu-dsp7ye

A minimal polynomial is always irreducible and primitive:

https://wolfram.com/xid/0bufdu-b4t0t9

Use MinimalPolynomial to extract the minimal polynomial:

https://wolfram.com/xid/0bufdu-kuk2dc

A Root object representing an algebraic number has three arguments:

https://wolfram.com/xid/0bufdu-y5kfw

The third argument is 0 (default value) or 1 and indicates the root isolation method to be used:

https://wolfram.com/xid/0bufdu-f241rc

The root isolation method used may affect the ordering of non-real roots:

https://wolfram.com/xid/0bufdu-fnszd1


https://wolfram.com/xid/0bufdu-f0a48k

Roots of polynomials of degree at 1 and 2 simplify automatically:

https://wolfram.com/xid/0bufdu-db5qm


https://wolfram.com/xid/0bufdu-qm8hp

An algebraic combination of algebraic numbers is an algebraic number:

https://wolfram.com/xid/0bufdu-gkz5xo

Use RootReduce to represent the result as a single Root object:

https://wolfram.com/xid/0bufdu-bxjgq7

The canonicalization is not done automatically since minimal polynomials can grow rapidly:

https://wolfram.com/xid/0bufdu-g570u9

Complex components of algebraic numbers:

https://wolfram.com/xid/0bufdu-bgpzka


https://wolfram.com/xid/0bufdu-b1rzr4

Root of a polynomial with exact numeric coefficients is an exact numeric object:

https://wolfram.com/xid/0bufdu-kcbb35


https://wolfram.com/xid/0bufdu-4199o


https://wolfram.com/xid/0bufdu-dnqvpf

Roots of a polynomial with coefficients involving symbolic parameters:

https://wolfram.com/xid/0bufdu-cj7ukh


https://wolfram.com/xid/0bufdu-d70bcs

Find the series with respect to the parameter:

https://wolfram.com/xid/0bufdu-dk9yf

Find Puiseux series of a root at a branch point:

https://wolfram.com/xid/0bufdu-bnored


Roots of a quadratic with symbolic coefficients:

https://wolfram.com/xid/0bufdu-f3dbq3

When a, b, c and the roots are real, the roots are always ordered by their values:

https://wolfram.com/xid/0bufdu-bazaeu

The "standard" formulas for the roots of a quadratic do not guarantee the ordering of roots:

https://wolfram.com/xid/0bufdu-ia6iu


https://wolfram.com/xid/0bufdu-8xbvc

Roots of Triangular Polynomial Systems (2)
Real root of a triangular system of equations:

https://wolfram.com/xid/0bufdu-htv6zy

The Root representation involves a triangular polynomial system and root indices:

https://wolfram.com/xid/0bufdu-hrg8v


https://wolfram.com/xid/0bufdu-jpymtr

The Root object is an exact numeric expression:

https://wolfram.com/xid/0bufdu-t4anm


https://wolfram.com/xid/0bufdu-qg9kj5

Roots of systems of polynomials with rational coefficients have algebraic number coordinates:

https://wolfram.com/xid/0bufdu-bdfdhw

The degree of the minimal polynomial is generally the product of degrees of the system polynomials:

https://wolfram.com/xid/0bufdu-i96b9

This representation is used for roots of polynomials with algebraic number coefficients:

https://wolfram.com/xid/0bufdu-j9plol


https://wolfram.com/xid/0bufdu-jribe

Convert the root to the canonical algebraic number representation:

https://wolfram.com/xid/0bufdu-nxis7b


https://wolfram.com/xid/0bufdu-hbs5ve

Options (1)Common values & functionality for each option
ExactRootIsolation (1)
Root[f,k] by default isolates the complex roots of a polynomial using validated numerical methods. Setting ExactRootIsolationTrue will make Root use symbolic methods that are usually much slower.
The setting of ExactRootIsolation is reflected in the third argument of a Root object:

https://wolfram.com/xid/0bufdu-czy8kj

https://wolfram.com/xid/0bufdu-dz2ump

Root isolation is performed the first time the numerical value of the root is needed:

https://wolfram.com/xid/0bufdu-he6kb3

The symbolic complex root isolation method is usually slower than the validated numeric one:

https://wolfram.com/xid/0bufdu-wjmc3

The root isolation method may affect the ordering of nonreal roots:

https://wolfram.com/xid/0bufdu-mo6mty

Applications (19)Sample problems that can be solved with this function
Solve polynomial equations of any degree in closed form in terms of Root:

https://wolfram.com/xid/0bufdu-flc78g

Solve the characteristic equation of a Hilbert matrix:

https://wolfram.com/xid/0bufdu-ly0102


https://wolfram.com/xid/0bufdu-b3uw9i

Using Eigenvalues:

https://wolfram.com/xid/0bufdu-rjneh9

Find the minimum of a parameterized polynomial:

https://wolfram.com/xid/0bufdu-d0rf9e

Solve a constant coefficient differential equation of any degree:

https://wolfram.com/xid/0bufdu-fbpen0

Solve a constant coefficient difference equation of any degree:

https://wolfram.com/xid/0bufdu-cf46ig

Find a solution of a triangular system of equations:

https://wolfram.com/xid/0bufdu-tlwpv

Represent the solution in the Root[f,k] form:

https://wolfram.com/xid/0bufdu-b2j9lc

Here, the Root[f,k] representation would involve a polynomial of degree 1000000:

https://wolfram.com/xid/0bufdu-bjerf2

Compute an approximate value of the solution:

https://wolfram.com/xid/0bufdu-dgq932


https://wolfram.com/xid/0bufdu-jsg7f2


https://wolfram.com/xid/0bufdu-fvpd6g

Solve univariate exp-log equations and inequalities over the reals:

https://wolfram.com/xid/0bufdu-bg8w2q


https://wolfram.com/xid/0bufdu-gu6eb3

Solve univariate elementary function equations over bounded intervals and regions:

https://wolfram.com/xid/0bufdu-g3208l


https://wolfram.com/xid/0bufdu-f0e5se

Solve univariate analytic equations over bounded intervals and regions:

https://wolfram.com/xid/0bufdu-bnizbz



https://wolfram.com/xid/0bufdu-edttfc


Find real roots of high-degree sparse polynomials and algebraic functions:

https://wolfram.com/xid/0bufdu-chd4th


https://wolfram.com/xid/0bufdu-kdct29

Solve univariate transcendental optimization problems:

https://wolfram.com/xid/0bufdu-cgqfki


https://wolfram.com/xid/0bufdu-hvgi5t

Integrate a piecewise function with an exp-log inequality condition:

https://wolfram.com/xid/0bufdu-izh7m

Evaluate the hard hexagon entropy constant:

https://wolfram.com/xid/0bufdu-3x16w


https://wolfram.com/xid/0bufdu-e6p5te

Compute the Laplace limit constant:

https://wolfram.com/xid/0bufdu-qfxzx


https://wolfram.com/xid/0bufdu-eyfjcm

Plot a root as a function of a parameter:

https://wolfram.com/xid/0bufdu-cmwldr

Solve a convex optimization problem:

https://wolfram.com/xid/0bufdu-dwdwwz

Find a solution instance of a system of transcendental equations and inequalities:

https://wolfram.com/xid/0bufdu-8h5ly

Properties & Relations (11)Properties of the function, and connections to other functions
Root objects represent exact numbers:

https://wolfram.com/xid/0bufdu-bkmss0

Compute approximations to arbitrary precision:

https://wolfram.com/xid/0bufdu-dofrey


https://wolfram.com/xid/0bufdu-mknnm


https://wolfram.com/xid/0bufdu-hdt1ne

Use MinimalPolynomial to find minimal polynomials of algebraic numbers:

https://wolfram.com/xid/0bufdu-envb6


https://wolfram.com/xid/0bufdu-gbh587


https://wolfram.com/xid/0bufdu-gndh3d


https://wolfram.com/xid/0bufdu-bewibe

Use ToRadicals to attempt to convert a Root object to an arithmetic combination of radicals:

https://wolfram.com/xid/0bufdu-bxb9mh

All roots of polynomials of degree not exceeding 4 are representable in radicals:

https://wolfram.com/xid/0bufdu-ns7n5

Use RootReduce to canonicalize algebraic numbers, including from operations:

https://wolfram.com/xid/0bufdu-guyhk3


https://wolfram.com/xid/0bufdu-e1o1q


https://wolfram.com/xid/0bufdu-kjm5pu


https://wolfram.com/xid/0bufdu-b3ro71


https://wolfram.com/xid/0bufdu-j386p


https://wolfram.com/xid/0bufdu-j2n8yk

Use AlgebraicNumber for computations within a fixed simple extension of the rationals:

https://wolfram.com/xid/0bufdu-yiqo2

Rational operations on AlgebraicNumber objects produce AlgebraicNumber objects:

https://wolfram.com/xid/0bufdu-br09in

Use ToNumberField to express given algebraic numbers as elements of the same simple extension:

https://wolfram.com/xid/0bufdu-djnqsc


https://wolfram.com/xid/0bufdu-dvk5np


https://wolfram.com/xid/0bufdu-jlwxqb

Perform computations within the common simple extension or rationals:

https://wolfram.com/xid/0bufdu-dnvmtw

RootSum represents the sum of values of a function over roots of a polynomial:

https://wolfram.com/xid/0bufdu-ltvga

Use Normal to represent the sum using explicit roots:

https://wolfram.com/xid/0bufdu-g80eh8

For rational functions, the sum can be computed without finding the roots:

https://wolfram.com/xid/0bufdu-lzs8zb

Simplify combinations of Root objects:

https://wolfram.com/xid/0bufdu-nehe3w


https://wolfram.com/xid/0bufdu-fapgcc

Solve an equation for a parameter in a Root object:

https://wolfram.com/xid/0bufdu-iqov7z

Use ImplicitD to compute derivatives of implicit solutions of equations:

https://wolfram.com/xid/0bufdu-kzmd10


https://wolfram.com/xid/0bufdu-fge39p

Compare with the result obtained by computing the derivative of directly:

https://wolfram.com/xid/0bufdu-pcm8

Compute series expansions of implicit solutions to equations:

https://wolfram.com/xid/0bufdu-2vhk8


https://wolfram.com/xid/0bufdu-lrqrgt

Use AsymptoticSolve to find series expansions of all roots:

https://wolfram.com/xid/0bufdu-ghc08v

Use RootApproximant to generate Root objects that approximate given numbers:

https://wolfram.com/xid/0bufdu-bbk1w9


https://wolfram.com/xid/0bufdu-ev0tkr

Possible Issues (5)Common pitfalls and unexpected behavior
Series at branch points may not be valid in all directions:

https://wolfram.com/xid/0bufdu-c4qyov


Canonicalization is only possible for parameter‐free roots:

https://wolfram.com/xid/0bufdu-cf0l5u

Parameterized roots can have complicated branch cuts in the complex parameter plane:

https://wolfram.com/xid/0bufdu-ih44u

A non-polynomial Root object may represent a cluster of distinct roots:

https://wolfram.com/xid/0bufdu-gdnrk1

https://wolfram.com/xid/0bufdu-zl3ro

Numerical computation with a higher precision yields an approximation of one of the roots:

https://wolfram.com/xid/0bufdu-d9ktfn


The choice of root stays the same for subsequent computations:

https://wolfram.com/xid/0bufdu-l9fomj

A larger setting for $MaxExtraPrecision can be needed for roots with noninteger coefficients:

https://wolfram.com/xid/0bufdu-jhyhez



https://wolfram.com/xid/0bufdu-bmulz

Wolfram Research (1996), Root, Wolfram Language function, https://reference.wolfram.com/language/ref/Root.html (updated 2021).
Text
Wolfram Research (1996), Root, Wolfram Language function, https://reference.wolfram.com/language/ref/Root.html (updated 2021).
Wolfram Research (1996), Root, Wolfram Language function, https://reference.wolfram.com/language/ref/Root.html (updated 2021).
CMS
Wolfram Language. 1996. "Root." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2021. https://reference.wolfram.com/language/ref/Root.html.
Wolfram Language. 1996. "Root." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2021. https://reference.wolfram.com/language/ref/Root.html.
APA
Wolfram Language. (1996). Root. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Root.html
Wolfram Language. (1996). Root. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Root.html
BibTeX
@misc{reference.wolfram_2025_root, author="Wolfram Research", title="{Root}", year="2021", howpublished="\url{https://reference.wolfram.com/language/ref/Root.html}", note=[Accessed: 08-July-2025
]}
BibLaTeX
@online{reference.wolfram_2025_root, organization={Wolfram Research}, title={Root}, year={2021}, url={https://reference.wolfram.com/language/ref/Root.html}, note=[Accessed: 08-July-2025
]}