rational
Rational Approximation
Description
Find rational approximations to the components of a real numeric object using a standard continued fraction method.
Usage
rational(x, cycles = 10, max.denominator = 2000, ...)
Arguments
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. |
Details
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.
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.
See Also
Examples
X <- matrix(runif(25), 5, 5) zapsmall(solve(X, X/5)) # print near-zeroes as zero rational(solve(X, X/5))
Copyright (©) 1999–2012 R Foundation for Statistical Computing.
Licensed under the GNU General Public License.