10.10. Combinatorics

Catalan
Catalan (n)

Get n'th catalan number.

See Planetmath for more information.

Combinations
Combinations (k,n)

Get all combinations of k numbers from 1 to n as a vector of vectors. (See also NextCombination)

DoubleFactorial
DoubleFactorial (n)

Double factorial: n(n-2)(n-4)...

See Planetmath for more information.

Factorial
Factorial (n)

Factorial: n(n-1)(n-2)...

See Planetmath for more information.

FallingFactorial
FallingFactorial (n,k)

Falling factorial: (n)_k = n(n-1)...(n-(k-1))

See Planetmath for more information.

Fibbonachi
Fibbonachi (x)

Aliases: fib

Calculate nth fibbonachi number. That is the number defined recursively by Fibbonachi(n) = Fibbonachi(n-1) + Fibbonachi(n-2) and Fibbonachi(1) = Fibbonachi(2) = 1.

See Planetmath or Mathworld for more information.

GaloisMatrix
GaloisMatrix (combining_rule)

Galois matrix given a linear combining rule (a_1*x_+...+a_n*x_n=x_(n+1))

HarmonicNumber
HarmonicNumber (n,r)

Aliases: HarmonicH

Harmonic Number, the n'th harmonic number of order r.

Hofstadter
Hofstadter (n)

Hofstadter's function q(n) defined by q(1)=1, q(2)=1, q(n)=q(n-q(n-1))+q(n-q(n-2))

LinearRecursiveSequence
LinearRecursiveSequence (seed_values,combining_rule,n)

Compute linear recursive sequence using galois stepping

Multinomial
Multinomial (v,arg...)

Calculate multinomial coefficients

NextCombination
NextCombination (v,n)

Get combination that would come after v in call to combinations, first combination should be [1:k]. This function is useful if you have many combinations to go through and you don't want to waste memory to store them all.

For example with Combination you would normally write a loop like:

for n in Combinations (4,6) do (
  SomeFunction (n)
);
But with NextCombination you would write something like:
n:=[1:4];
do (
  SomeFunction (n)
) while not IsNull(n:=NextCombination(n,6));
See also Combinations.

Pascal
Pascal (i)

Get the Pascal's triangle as a matrix. This will return an i+1 by i+1 lower diagonal matrix which is the Pascal's triangle after i iterations.

See Planetmath for more information.

Permutations
Permutations (k,n)

Get all permutations of k numbers from 1 to n as a vector of vectors

RisingFactorial
RisingFactorial (n,k)

Aliases: Puchhammer

(Puchhammer) Rising factorial: (n)_k = n(n+1)...(n+(k-1))

See Planetmath for more information.

Subfactorial
Subfactorial (n)

Subfactorial: n! times sum_{k=1}^n (-1)^k/k!

Triangular
Triangular (nth)

Calculate the n'th triangular number.

See Planetmath for more information.

nCr
nCr (n,r)

Aliases: Binomial

Calculate combinations (binomial coefficient)

nPr
nPr (n,r)

Calculate permutations