rational {MASS} | R Documentation |

## 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))
```

*MASS*version 7.3-60.2 Index]