| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Factory.Math.Implementations.Factorial
Description
AUTHOR- Dr. Alistair Ward
DESCRIPTION
- Provides implementations of the class
Algorithmic. - Provides additional functions related to factorials, but which depends on a specific implementation, and which therefore can't be accessed throught the class-interface.
- https://en.wikipedia.org/wiki/Factorial.
- http://mathworld.wolfram.com/Factorial.html.
- http://www.luschny.de/math/factorial/FastFactorialFunctions.htm.
- data Algorithm
- primeFactors :: Integral base => base -> Factors base base
- risingFactorial :: (Integral i, Show i) => i -> i -> i
- fallingFactorial :: (Integral i, Show i) => i -> i -> i
- (!/!) :: (Integral i, Fractional f, Show i) => i -> i -> f
Types
Data-types
The algorithms by which factorial has been implemented.
Constructors
| Bisection | The integers from which the factorial is composed, are multiplied using |
| PrimeFactorisation | The prime factors of the factorial are extracted, then raised to the appropriate power, before multiplication. |
Functions
Arguments
| :: Integral base | |
| => base | The number, whose factorial is to be factorised. |
| -> Factors base base | The base and exponent of each prime factor in the factorial, ordered by increasing base (and decreasing exponent). |
- Returns the prime factors, of the factorial of the specifed integer.
- Precisely all the primes less than or equal to the specified integer n, are included in n!; only the multiplicity of each of these known prime components need be determined.
- https://en.wikipedia.org/wiki/Factorial#Number_theory.
- CAVEAT: currently a hotspot.
Arguments
| :: (Integral i, Show i) | |
| => i | The lower bound of the integer-range, whose product is returned. |
| -> i | The number of integers in the range above. |
| -> i | The result. |
Returns the rising factorial; http://mathworld.wolfram.com/RisingFactorial.html
Arguments
| :: (Integral i, Show i) | |
| => i | The upper bound of the integer-range, whose product is returned. |
| -> i | The number of integers in the range beneath. |
| -> i | The result. |
Returns the falling factorial; http://mathworld.wolfram.com/FallingFactorial.html
Operators
Arguments
| :: (Integral i, Fractional f, Show i) | |
| => i | The numerator. |
| -> i | The denominator. |
| -> f | The resulting fraction. |
- Returns the ratio of two factorials.
- It is more efficient than evaluating both factorials, and then dividing.
- For more complex combinations of factorials, such as in the Binomial coefficient,
extract the prime factors using
primeFactorsthen manipulate them using the module Data.PrimeFactors, and evaluate it using by Data.PrimeFactors.product'.