Learn R Programming

numbers (version 0.8-5)

Farey Numbers: Farey Approximation and Series

Description

Rational approximation of real numbers through Farey fractions.

Usage

ratFarey(x, n, upper = TRUE)

farey_seq(n)

Value

Returns a vector with two natural numbers, nominator and denominator.

Arguments

x

real number.

n

integer, highest allowed denominator in a rational approximation.

upper

logical; shall the Farey fraction be grater than x.

Details

Rational approximation of real numbers through Farey fractions, i.e. find for x the nearest fraction in the Farey series of rational numbers with denominator not larger than n.

farey_seq(n) generates the full Farey sequence of rational numbers with denominators not larger than n. Returns the fractions as 'big rational' class in 'gmp'.

References

Hardy, G. H., and E. M. Wright (1979). An Introduction to the Theory of Numbers. Fifth Edition, Oxford University Press, New York.

See Also

contFrac

Examples

Run this code
ratFarey(pi, 100)                          # 22/7    0.0013
ratFarey(pi, 100, upper = FALSE)           # 311/99  0.0002
ratFarey(-pi, 100)                         # -22/7
ratFarey(pi - 3, 70)                       # pi ~= 3 + (3/8)^2
ratFarey(pi, 1000)                         # 355/113
ratFarey(pi, 10000, upper = FALSE)         # id.
ratFarey(pi, 1e5, upper = FALSE)           # 312689/99532 - pi ~= 3e-11

ratFarey(4/5, 5)                           # 4/5
ratFarey(4/5, 4)                           # 1/1
ratFarey(4/5, 4, upper = FALSE)            # 3/4

Run the code above in your browser using DataLab