combinat::parkingFunctions – parking functions

combinat::parkingFunctions is a combinatorial class that provides functions for counting, generating, and manipulating parking functions.

→ Examples

Categories

Cat::CombinatorialClass

Details:

Entries

"domtype"

The MuPAD domain used to represent parking functions: DOM_LIST

isA – tests if an object is a parking function

combinat::parkingFunctions::isA(word w)

Returns TRUE if w is a parking function.

list – list of parking functions

combinat::parkingFunctions::list(list p)

combinat::parkingFunctions::list(nonnegative integer n)

Returns the list of all the parking functions having the same evaluation as p (in other words, returns the list of the permutations of p if p is a parking function, and the empty list otherwise).

Returns the list of all parking functions of size n.

nonDecreasing – list of the non-decreasing parking functions

combinat::parkingFunctions::nonDecreasing(nonnegative integer n)

Returns the list of all non-decreasing parking functions of size n.

word2Parking – transforms a word into a parking function

combinat::parkingFunctions::word2Parking(word w)

Returns the parkized word of w.

breaks – breaks of a parking function

combinat::parkingFunctions::breaks(list p)

Returns the breaks of p. It is the set of integers math such that the number of numbers in p smaller than or equal to math is exactly math.

prime – list of prime parking functions

combinat::parkingFunctions::prime(nonnegative integer n)

Returns the list of prime parking functions of size n, that is parking functions with no break point except n.

type – type of a parking function

combinat::parkingFunctions::type(list p)

Returns the composition associated with the breaks of p.

fromType – parking functions of a given type

combinat::parkingFunctions::fromType(list c)

Returns the parking functions of type c.

Example 1:

combinat::parkingFunctions::isA([3, 2, 5, 5, 1, 1])

math

combinat::parkingFunctions::isA([3, 5, 5, 1, 1])

math

combinat::parkingFunctions::list([1, 1, 3])

math

There are math parking functions with three letters.

combinat::parkingFunctions::list(3)

math

combinat::parkingFunctions::nonDecreasing(3)

math

combinat::parkingFunctions::nonDecreasing(4)

math

Example 2:

combinat::parkingFunctions::word2Parking([3, 5, 3, 1])

math

combinat::parkingFunctions::word2Parking([6, 5, 6, 9, 3, 1, 6, 6, 7])

math

Example 3:

combinat::parkingFunctions::breaks([3, 1, 2, 2, 6, 5])

math

combinat::parkingFunctions::breaks([3, 1, 2, 2, 6, 5, 5])

math

The type of a parking function is the descent composition associated with its breaks:

combinat::parkingFunctions::type([3, 1, 2, 2, 6, 5])

math

combinat::parkingFunctions::type([3, 1, 2, 2, 6, 5, 5])

math

combinat::parkingFunctions::prime(3)

math

By definition, the prime parking functions have exactly one break:

map(combinat::parkingFunctions::prime(3), combinat::parkingFunctions::breaks)

math

select(combinat::parkingFunctions(3), z ->

combinat::parkingFunctions::breaks(z) = [3])

math

The type of a parking function is computed as

combinat::parkingFunctions::fromType([3, 1])

math

as one can check with

select(combinat::parkingFunctions(4), z -> combinat::parkingFunctions::type(z)

= [3, 1])

math