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.1.1@sha256:9916c73b23486559f8b85537a50554e573ad1e90dd95048588a97d198332d404,3505

Module documentation for 0.1.1

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.1.1 (2020-04-15)

  • Support arithmoi-0.11.

0.1.0 (2019-04-26)

  • Allow imaginary square roots, e. g., qi 1 1 (-5) 1.
  • Remove Ord QI instance: complex values cannot be ordered.
  • Roots of 0 are reduced: qi a b 0 d becomes qi a 0 2 d.
  • Remove qiZero and qiOne.

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.