# FractionTree

A collection of Stern-Brocot based models and methods.

The Stern-Brocot algorithm describes a way of constructing sets of non-negative fractions arranged in a binary tree.

Construction of a SB tree starts by using the fractions 0/1 and 1/0, where 1/0 denotes infinity. Subsequent fractions are derived by the algorithm, (m + m′)/(n + n′), where m/n is the left adjacent fraction and m′/n′ is the right adjacent fraction, and m/n < m′/n′. This sum is called the mediant.

Given m/n = 0/1 and m′/n′ = 1/0, the first mediant sum, is:

0/1 + 1/0 => (0 + 1)/(1 + 0) = 1/1

Fractions constructed in this way, have the following properties:

- m/n < (m + m′)/(n + n′) < m′/n′
- m'n - mn' = 1

## Installing

```
gem install fraction-tree
```

## Authors

## License

This project is licensed under the [MIT] License.

## Acknowledgments

- Concrete Mathematics, chapter 4.5 Ronald Graham, Donald Knuth & Oren Patashnik
- Introductory reading on the Stern-Brocot tree
- Trees, Teeth, and Time: The mathematics of clock making
- Continued Fractions on the Stern-Brocot Tree
- The Stern-Brocot tree and Farey sequences
- The Wilson zig-zag (quotient sum) algorithm explained
- Erv Wilson's application of the tree to scales