Safe Haskell | None |
---|---|
Language | Haskell2010 |
A few important number sequences.
See the "On-Line Encyclopedia of Integer Sequences", https://oeis.org .
- paritySignValue :: Integral a => a -> Integer
- factorial :: Integral a => a -> Integer
- doubleFactorial :: Integral a => a -> Integer
- binomial :: Integral a => a -> a -> Integer
- pascalRow :: Integral a => a -> [Integer]
- multinomial :: Integral a => [a] -> Integer
- catalan :: Integral a => a -> Integer
- catalanTriangle :: Integral a => a -> a -> Integer
- signedStirling1stArray :: Integral a => a -> Array Int Integer
- signedStirling1st :: Integral a => a -> a -> Integer
- unsignedStirling1st :: Integral a => a -> a -> Integer
- stirling2nd :: Integral a => a -> a -> Integer
- bernoulli :: Integral a => a -> Rational
- bellNumbersArray :: Integral a => a -> Array Int Integer
- bellNumber :: Integral a => a -> Integer
Documentation
paritySignValue :: Integral a => a -> Integer Source
(-1)^k
doubleFactorial :: Integral a => a -> Integer Source
A006882.
pascalRow :: Integral a => a -> [Integer] Source
A given row of the Pascal triangle; equivalent to a sequence of binomial numbers, but much more efficient. You can also left-fold over it.
pascalRow n == [ binomial n k | k<-[0..n] ]
multinomial :: Integral a => [a] -> Integer Source
Catalan numbers
catalanTriangle :: Integral a => a -> a -> Integer Source
Catalan's triangle. OEIS:A009766. Note:
catalanTriangle n n == catalan n catalanTriangle n k == countStandardYoungTableaux (toPartition [n,k])
Stirling numbers
signedStirling1stArray :: Integral a => a -> Array Int Integer Source
Rows of (signed) Stirling numbers of the first kind. OEIS:A008275.
Coefficients of the polinomial (x-1)*(x-2)*...*(x-n+1)
.
This function uses the recursion formula.
signedStirling1st :: Integral a => a -> a -> Integer Source
(Signed) Stirling numbers of the first kind. OEIS:A008275.
This function uses signedStirling1stArray
, so it shouldn't be used
to compute many Stirling numbers.
Argument order: signedStirling1st n k
unsignedStirling1st :: Integral a => a -> a -> Integer Source
(Unsigned) Stirling numbers of the first kind. See signedStirling1st
.
stirling2nd :: Integral a => a -> a -> Integer Source
Stirling numbers of the second kind. OEIS:A008277. This function uses an explicit formula.
Argument order: stirling2nd n k
Bernoulli numbers
bernoulli :: Integral a => a -> Rational Source
Bernoulli numbers. bernoulli 1 == -1%2
and bernoulli k == 0
for
k>2 and odd. This function uses the formula involving Stirling numbers
of the second kind. Numerators: A027641, denominators: A027642.
Bell numbers
bellNumbersArray :: Integral a => a -> Array Int Integer Source
Bell numbers (Sloane's A000110) from B(0) up to B(n). B(0)=B(1)=1, B(2)=2, etc.
The Bell numbers count the number of set partitions of a set of size n
bellNumber :: Integral a => a -> Integer Source
The n-th Bell number B(n), using the Stirling numbers of the second kind.
This may be slower than using bellNumbersArray
.