# IntegerCombinatoricFunctions IΒΆ

The IntegerCombinatoricFunctions package provides some standard functions in combinatorics.

- binomial: (I, I) -> I
`binomial(n, r)`

returns the binomial coefficient`C(n, r) = n!/(r! (n-r)!)`

, where`n >= r >= 0`

. This is the number of combinations of`n`

objects taken`r`

at a time.

- catalan: I -> I
`catalan(n)`

returns the`n`

-th Catalan number

- distinct_partition: I -> I
`distinct_partition(n)`

returns the number of partitions of the integer`n`

with distinct members. This is the number of ways that`n`

can be written as a sum of distinct positive integers. For`n > 0`

this is the same as number of ways that`n`

can be written as a sum of odd positive integers.

- factorial: I -> I
`factorial(n)`

returns`n!`

. this is the product of all integers between 1 and`n`

(inclusive). Note:`0!`

is defined to be 1.

- multinomial: (I, List I) -> I
`multinomial(n, [m1, m2, ..., mk])`

returns the multinomial coefficient`n!/(m1! m2! ... mk!)`

.

- partition: I -> I
`partition(n)`

returns the number of partitions of the integer`n`

. This is the number of distinct ways that`n`

can be written as a sum of positive integers.

- permutation: (I, I) -> I
`permutation(n)`

returns`!P(n, r) = n!/(n-r)!`

. This is the number of permutations of`n`

objects taken`r`

at a time.

- stirling1: (I, I) -> I
`stirling1(n, m)`

returns the Stirling number of the first kind denoted`S[n, m]`

.

- stirling2: (I, I) -> I
`stirling2(n, m)`

returns the Stirling number of the second kind denoted`SS[n, m]`

.