Rationalize

Rationalize[x]

converts an approximate number x to a nearby rational with small denominator.

Rationalize[x,dx]

yields the rational number with smallest denominator that lies within dx of x.

Details

  • Rationalize[x,dx] works with exact numbers x.
  • Rationalize[x] yields x unchanged if there is no rational number close enough to x to satisfy the condition , with chosen to be .
  • Rationalize[x,0] converts any inexact number x to rational form. »

Examples

open allclose all

Basic Examples  (1)

Convert to a rational number:

Scope  (5)

Find rational approximations to within a given tolerance:

Rationalize works with exact numbers:

Rationalize all numbers in an expression:

No rational number is by default considered "close enough" to N[Pi]:

Force a rational approximation to be found:

Applications  (3)

Successive rational approximations to :

Plot the error in progressively better rational approximations to :

Plot the error in progressively better approximations to :

Create a polynomial with approximate numerical coefficients:

Find a rough approximation involving only rational numbers:

Factor the result:

Properties & Relations  (3)

If Rationalize returns a rational number , then :

When Rationalize[x] returns x unchanged, there is no rational number satisfying this:

Get the rational approximations with smallest denominator error dx through machine precision:

The residual of the inequality is positive for all of these rational approximations:

SetPrecision[x,] and Rationalize[x,0] both give rational approximations for real x:

Rationalize[x,0] gives a rational that is equivalent to x up to the precision of x:

SetPrecision[x,] gets a rational directly from the bitwise representation of x:

Rationalize and RootApproximant both give exact quantities approximating real x:

RootApproximant[x] gives an algebraic number equivalent to x up to the precision of x:

Rationalize[x,0] gives a rational number equivalent to x up to the precision of x:

Introduced in 1988
 (1.0)
 |
Updated in 1999
 (4.0)