combinat-0.2.5.0: Generation of various combinatorial objects.

Safe HaskellNone

Math.Combinat.Numbers

Contents

Description

A few important number sequences.

See the "On-Line Encyclopedia of Integer Sequences", https://oeis.org .

Synopsis

Documentation

paritySign :: Integral a => a -> IntegerSource

(-1)^k

factorial :: Integral a => a -> IntegerSource

A000142.

doubleFactorial :: Integral a => a -> IntegerSource

A006882.

binomial :: Integral a => a -> a -> IntegerSource

A007318.

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] ]

Catalan numbers

catalan :: Integral a => a -> IntegerSource

Catalan numbers. OEIS:A000108.

catalanTriangle :: Integral a => a -> a -> IntegerSource

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 IntegerSource

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 -> IntegerSource

(Signed) Stirling numbers of the first kind. OEIS:A008275. This function uses signedStirling1stArray, so it shouldn't be used to compute many Stirling numbers.

unsignedStirling1st :: Integral a => a -> a -> IntegerSource

(Unsigned) Stirling numbers of the first kind. See signedStirling1st.

stirling2nd :: Integral a => a -> a -> IntegerSource

Stirling numbers of the second kind. OEIS:A008277. This function uses an explicit formula.

Bernoulli numbers

bernoulli :: Integral a => a -> RationalSource

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.