combinat-0.2.5.0: Generation of various combinatorial objects.

Safe Haskell None

Math.Combinat.Numbers

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

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.