PRODUCTS
Products Overview
Mathematica
Mathematica for Students
Mathematica Home Edition
Wolfram
CDF Player
(free download)
Computable Document Format (CDF)
web
Mathematica
grid
Mathematica
Wolfram
Workbench
Mathematica
Add-Ons
Wolfram|Alpha Products
SOLUTIONS
Solutions Overview
Engineering
Aerospace Engineering & Defense
Chemical Engineering
Control Systems
Electrical Engineering
Image Processing
Industrial Engineering
Materials Science
Mechanical Engineering
Operations Research
Optics
Petroleum Engineering
Biotechnology & Medicine
Bioinformatics
Medical Imaging
Finance, Statistics & Business Analysis
Actuarial Sciences
Data Analysis & Mining
Econometrics
Economics
Financial Engineering & Mathematics
Financial Risk Management
Statistics
Software Engineering & Content Delivery
Authoring & Publishing
Interface Development
Software Engineering
Web Development
Science
Astronomy
Biological Sciences
Chemistry
Environmental Sciences
Geosciences
Social & Behavioral Sciences
Design, Arts & Entertainment
Game Design, Special Effects & Generative Art
Education
STEM Education Initiative
Higher Education
Community & Technical College Education
Primary & Secondary Education
Students
Technology
Computable Document Format (CDF)
High-Performance & Parallel Computing (HPC)
See Also: Technology Guide
PURCHASE
Online Store
Other Ways to Buy
Volume & Site Licensing
Contact Sales
Software
Service
Upgrades
Training
Books
SUPPORT
Support Overview
Knowledge Base
Learning Center
Community & Forums
Training & Free Seminars
Does My Site Have a License?
Wolfram User Portal
COMPANY
About Wolfram Research
News & Events
Wolfram Blog
Partnerships
Employment Opportunities
History of
Mathematica
Stephen Wolfram's Home Page
Contact Us
OUR SITES
All Sites
Wolfram|Alpha
Demonstrations Project
MathWorld
Integrator
Wolfram Functions Site
Mathematica Journal
Wolfram Media
Wolfram
Tones
Wolfram Science
Stephen Wolfram
DOCUMENTATION CENTER SEARCH
New to
Mathematica
?
Find your learning path
»
Mathematica
>
Mathematics and Algorithms
>
Formula Manipulation
>
Algebraic Transformations
>
Algebraic Numbers
>
RootApproximant
>
Mathematica
>
Mathematics and Algorithms
>
Number Theory
>
Algebraic Number Theory
>
Algebraic Numbers
>
RootApproximant
>
Mathematica
>
Mathematics and Algorithms
>
Mathematical Functions
>
Number Theoretic Functions
>
Algebraic Number Theory
>
Algebraic Numbers
>
RootApproximant
>
BUILT-IN MATHEMATICA SYMBOL
Rationalize
LatticeReduce
Root
FindSequenceFunction
MinimalPolynomial
See Also »
|
Algebraic Numbers
Algebraic Number Theory
Number Recognition
Summary of New Features in 7.0
New in 6.0: Symbolic Computation
New in 6.0: Mathematics & Algorithms
New in 6.0: Number Theory & Integer Functions
New in 7.0: Mathematics & Algorithms
More About »
RootApproximant
RootApproximant
[
x
]
converts the number
x
to one of the "simplest" algebraic numbers that approximates it well.
RootApproximant
finds an algebraic number of degree at most
n
that approximates
x
.
MORE INFORMATION
For degrees above 2,
RootApproximant
generates
Root
objects.
RootApproximant
[
x
]
effectively tests the total number of bits in the description of
x
by successively higher-degree algebraic numbers, and returns the first case for which the number of bits is small.
Results from
RootApproximant
may not be unique.
MinimalPolynomial
yields the minimal polynomial for the result of
RootApproximant
.
The option
Method
specifies an additional cost
p
to be used for each successively higher power in determining the "simplest" approximation.
EXAMPLES
CLOSE ALL
Basic Examples
(2)
Find a quadratic approximation to
:
Find algebraic approximants of any order:
Find a quadratic approximation to
:
In[1]:=
Out[1]=
In[2]:=
Out[2]=
Find algebraic approximants of any order:
In[1]:=
Out[1]=
In[2]:=
Out[2]=
In[3]:=
Out[3]=
Scope
(4)
There is no simple quadratic approximation to
N
:
At degree 4, there is a simple answer, which turns out to be equal to
:
Machine precision is not enough to recover the
Root
object equal to
:
30 digits of precision suffice to recover the exact value here:
When given exact input,
RootApproximant
uses machine-precision approximations:
RootApproximant
works with complex numbers:
Options
(1)
Assigning additional cost to higher powers can be used to lower the degree of result:
Applications
(2)
Find successive algebraic approximations to
:
A complicated radical expression:
Use
FindRoot
to find the real root near 2.5:
Use
RootApproximant
to find an algebraic number close to the root:
Check whether the result is a root of the original expression:
Properties & Relations
(3)
RootApproximant
gives a
Root
object close to a given algebraic number:
The
Root
object found may not be exactly equal to the input:
Use
RootReduce
to find exact
Root
object representations of algebraic numbers:
Specifying a linear polynomial effectively finds a rational approximation to
x
:
Rationalize
also gives a rational approximation, but it need not be the same:
Interestingly, the approximations can be found among continued fraction convergents:
Use
LatticeReduce
to recognize linear combinations of more general functions:
The final relationship
:
Possible Issues
(1)
Recognizing an algebraic number may require using higher precision:
The result is not equal to
a
:
Providing the correct degree improves the chances of recognizing an algebraic number:
A penalty may be used to lower the degree; here it does not help in recognizing the number:
Using a higher-precision approximation allows the algebraic number to be recognized:
SEE ALSO
Rationalize
LatticeReduce
Root
FindSequenceFunction
MinimalPolynomial
MORE ABOUT
Algebraic Numbers
Algebraic Number Theory
Number Recognition
Summary of New Features in 7.0
New in 6.0: Symbolic Computation
New in 6.0: Mathematics & Algorithms
New in 6.0: Number Theory & Integer Functions
New in 7.0: Mathematics & Algorithms
New in 6 | Last modified in 7