Rational Approximation
Find rational approximations to the components of a real numeric object using a standard continued fraction method.
rational(x, cycles = 10, max.denominator = 2000, ...)
x |
Any object of mode numeric. Missing values are now allowed. |
cycles |
The maximum number of steps to be used in the continued fraction approximation process. |
max.denominator |
An early termination criterion. If any partial denominator
exceeds |
... |
arguments passed to or from other methods. |
Each component is first expanded in a continued fraction of the form
x = floor(x) + 1/(p1 + 1/(p2 + ...)))
where p1
, p2
, ... are positive integers, terminating either
at cycles
terms or when a pj > max.denominator
. The
continued fraction is then re-arranged to retrieve the numerator
and denominator as integers and the ratio returned as the value.
A numeric object with the same attributes as x
but with entries
rational approximations to the values. This effectively rounds
relative to the size of the object and replaces very small
entries by zero.
X <- matrix(runif(25), 5, 5) zapsmall(solve(X, X/5)) # print near-zeroes as zero rational(solve(X, X/5))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.