THIS PACKAGE IS DEPRECATED: Please use Combinatorics.jl instead.
Catalan: a combinatorics library for Julia, focusing mostly (as of now) on enumerative combinatorics and permutations.
As overflows are expected even for low values, most of the functions always return BigInt
, and are marked as such below.
This library provides the following functions:
bell(n)
: returns the n-th Bell number; always returns aBigInt
;catalan(n)
: returns the n-th Catalan number; always returns aBigInt
;derangement(n)
/subfactorial(n)
: returns the number of permutations of n with no fixed points; always returns aBigInt
;doublefactorial(n)
: returns the double factorial n!!; always returns aBigInt
;fibonacci(n)
: the n-th Fibonacci number; always returns aBigInt
;hyperfactorial(n)
: the n-th hyperfactorial, i.e. prod([i^i for i = 2:n]; always returns aBigInt
;integer_partitions(n)
: returns aVector{Int}
consisting of the partitions of the numbern
.jacobisymbol(a,b)
: returns the Jacobi symbol (a/b);lassalle(n)
: returns the nth Lassalle number An defined in arXiv:1009.4225 (OEIS A180874); always returns aBigInt
;legendresymbol(a,p)
: returns the Legendre symbol (a/p);lucas(n)
: the n-th Lucas number; always returns aBigInt
;multifactorial(n)
: returns the m-multifactorial n(!^m); always returns aBigInt
;multinomial(k...)
: receives a tuple ofk_1, ..., k_n
and calculates the multinomial coefficient(n k)
, wheren = sum(k)
; returns aBigInt
only if given aBigInt
;primorial(n)
: returns the product of all positive prime numbers <= n; always returns aBigInt
;stirlings1(n, k)
: the signed(n,k)
-th Stirling number of the first kind; returns aBigInt
only if given aBigInt
.
Limited support for working with Young diagrams is provided.
partitionsequence(a)
: computes partition sequence for an integer partitiona
x = a \ b
creates the skew diagram for partitions (tuples)a
,b
isrimhook(x)
: checks if skew diagramx
is a rim hookleglength(x)
: computes leg length of rim hookx
character(a, b)
: computes character the partitionb
in thea
th irrep of Sn