fractions {MASS} | R Documentation |
Rational Approximation
Description
Find rational approximations to the components of a real numeric object using a standard continued fraction method.
Usage
fractions(x, cycles = 10, max.denominator = 2000, ...)
as.fractions(x)
is.fractions(f)
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. |
f |
an R object. |
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.
The numerators and denominators are then combined into a
character vector that becomes the "fracs"
attribute and used in
printed representations.
Arithmetic operations on "fractions"
objects have full floating
point accuracy, but the character representation printed out may
not.
Value
An object of class "fractions"
. A structure with .Data
component
the same as the input numeric x
, but with the rational
approximations held as a character vector attribute, "fracs"
.
Arithmetic operations on "fractions"
objects are possible.
References
Venables, W. N. and Ripley, B. D. (2002) Modern Applied Statistics with S. Fourth Edition. Springer.
See Also
Examples
X <- matrix(runif(25), 5, 5)
zapsmall(solve(X, X/5)) # print near-zeroes as zero
fractions(solve(X, X/5))
fractions(solve(X, X/5)) + 1