combinat::lyndonWords::fromEvaluation – Lyndon words with prescribed evaluation
The combinatorial class of integral Lyndon words with prescribed evaluation
Superdomain
Axioms
Details:
An integer Lyndon word is a Lyndon word whose operands are positive integers.
The evaluation of an integer Lyndon word w is a list c such that c[i] is the number of occurrences of i in w. For example, the evaluation of [1,1,1,2,1,4,4] is [4,1,0,2]. See combinat::words::evaluation for details.
Some functions here only deal with evaluations that are compositions. In other words the corresponding Lyndon words should contain all the integers in a range 1..k (counter examples: [2,2,3] or [1,4,3,3]).
isA – test if an object is a Lyndon word
combinat::lyndonWords::fromEvaluation::isA(any type object, <composition evaluation>)
Returns whether object is a Lyndon word.
If the optional argument is present, returns whether object is a Lyndon word with evaluation evaluation.
count – number of integer Lyndon words with prescribed evaluation
combinat::lyndonWords::fromEvaluation::count(integer list evaluation)
Returns the number of integer Lyndon words with evaluation evaluation.
list – list of the integer Lyndon words with prescribed evaluation
combinat::lyndonWords::fromEvaluation::list(composition evaluation)
Returns the list of the integer Lyndon words with evaluation evaluation.
generator – generator for the integer Lyndon words with prescribed evaluation
combinat::lyndonWords::fromEvaluation::generator(composition evaluation)
Returns a generator for the integer Lyndon words with evaluation evaluation.
There are Lyndon words with three 1's and three 2's:
combinat::necklaces::fromEvaluation::list([3, 3])
On the other hand, [1,1,1] is periodic, so there are no Lyndon word with three 1's:
combinat::lyndonWords::fromEvaluation::list([3])
Background:
The generation algorithm for Lyndon words with prescribed evaluation is the same as for necklaces; see combinat::necklaces for details.
Changes in MuPAD 3.1
New Function.