quadratic-irrational

An implementation of quadratic irrationals

https://github.com/ion1/quadratic-irrational

Version on this page:0.0.6@rev:1
LTS Haskell 22.14:0.1.1@rev:2
Stackage Nightly 2024-03-28:0.1.1@rev:2
Latest on Hackage:0.1.1@rev:2

See all snapshots quadratic-irrational appears in

MIT licensed by Johan Kiviniemi
Maintained by Andrew Lelechenko andrew dot lelechenko at gmail dot com
This version can be pinned in stack with:quadratic-irrational-0.0.6@sha256:f557045d1037211bf7284dc2350fa325cc85078b9533a1ddd327a7fa0fd5ed44,3416

Module documentation for 0.0.6

quadratic-irrational

Build Status Hackage

A library for exact computation with quadratic irrationals with support for exact conversion from and to (potentially periodic) simple continued fractions.

A quadratic irrational is a number that can be expressed in the form

(a + b √c) / d

where a, b and d are integers and c is a square-free natural number.

Some examples of such numbers are

A simple continued fraction is a number in the form

a + 1/(b + 1/(c + 1/(d + 1/(e + …))))

or alternatively written as

[a; b, c, d, e, …]

where a is an integer and b, c, d, e, … are positive integers.

Every finite SCF represents a rational number and every infinite, periodic SCF represents a quadratic irrational.

3.5      = [3; 2]
(1+√5)/2 = [1; 1, 1, 1, …]
√2       = [1; 2, 2, 2, …]

Changes

0.0.6 (2018-08-29)

  • Support GHC up to 8.6.1.

0.0.5 (2014-03-28)

  • Add an Ord instance.

0.0.4 (2014-03-27)

  • Make the description more precise.
  • Add continuedFractionApproximate for rational partial evaluations of continued fractions.

0.0.3 (2014-03-26)

  • Add a more verbose description of the library.

0.0.2 (2014-03-25)

  • Add doctests.
  • Fix qiModify potentially constructing qi 1 0 5 1 instead of the equivalent but simpler qi 1 0 0 1.
  • Add lenses.

0.0.1 (2014-03-24)

  • Initial release.