factory-0.2.1.1: Rational arithmetic in an irrational world.

Factory.Math.Precision

Description

`AUTHOR`
Dr. Alistair Ward
`DESCRIPTION`
Defines the unit with which precision is measured, and operations on it.

Synopsis

# Types

## Type-synonyms

A number of decimal digits; presumably positive.

# Constants

Linear convergence-rate; which may be qualified by the rate of convergence.

Cubic convergence-rate.

Quartic convergence-rate.

# Functions

Arguments

 :: Integral i => ConvergenceOrder -> DecimalDigits The precision of the initial estimate. -> DecimalDigits The required precision. -> i

The predicted number of iterations, required to achieve a specific accuracy, at a given order of convergence.

Arguments

 :: Integral i => ConvergenceRate -> DecimalDigits The additional number of correct decimal digits. -> i
• The predicted number of terms which must be extracted from a series, if it is to converge to the required accuracy, at the specified linear convergence-rate.
• The convergence-rate of a series, is the error in the series after summation of `(n+1)th` terms, divided by the error after only `n` terms, as the latter tends to infinity. As such, for a convergent series (in which the error get smaller with successive terms), it's value lies in the range `0 .. 1`.
• http://en.wikipedia.org/wiki/Rate_of_convergence.

roundTo :: (RealFrac a, Fractional f) => DecimalDigits -> a -> f Source

Rounds the specified number, to a positive number of `DecimalDigits`.

promote :: Num n => n -> DecimalDigits -> n Source

Promotes the specified number, by a positive number of `DecimalDigits`.

Arguments

 :: RealFrac operand => DecimalDigits The number of places after the decimal point, which are required. -> operand -> Rational
• Reduces a `Rational` to the minimal form required for the specified number of fractional decimal places; irrespective of the number of integral decimal places.
• A `Rational` approximation to an irrational number, may be very long, and provide an unknown excess precision. Whilst this doesn't sound harmful, it costs in performance and memory-requirement, and being unpredictable isn't actually useful.