Package sage :: Package combinat :: Module lyndon_word
[hide private]
[frames] | no frames]

Module lyndon_word

source code


Lyndon words



Classes [hide private]
  LyndonWords_evaluation
  LyndonWords_nk
  StandardBracketedLyndonWords_nk
Functions [hide private]
 
LyndonWords(e, k=['4ti2-20061025', 'R-2.6.0', 'atlas-3.7.37', 'atlas-3.8.1', 'a...)
Returns the combinatorial class of Lyndon words.
source code
 
StandardBracketedLyndonWords(n, k)
Returns the combinatorial class of standard bracketed Lyndon words from [1, ..., n] of length k.
source code
 
standard_bracketing(lw)
Returns the standard bracketing of a Lyndon word lw.
source code
Function Details [hide private]

LyndonWords(e, k=['4ti2-20061025', 'R-2.6.0', 'atlas-3.7.37', 'atlas-3.8.1', 'a...)

source code 

Returns the combinatorial class of Lyndon words.

EXAMPLES:
  If e is an integer, then e specifies the length of the
  alphabet; k must also be specified in this case.
  
    sage: LW = LyndonWords(3,3); LW
    Lyndon words from an alphabet of size 3 of length 3
    sage: LW.first()
    [1, 1, 2]
    sage: LW.last()
    [2, 3, 3]
    sage: LW.random_element()
    [1, 1, 2]
    sage: LW.count()
    8

  If e is a (weak) composition, then it returns the class of
  Lyndon words that have evaluation e.

    sage: LyndonWords([2, 0, 1]).list()
    [[1, 1, 3]]
    sage: LyndonWords([2, 0, 1, 0, 1]).list()
    [[1, 1, 3, 5], [1, 1, 5, 3], [1, 3, 1, 5]]
    sage: LyndonWords([2, 1, 1]).list()
    [[1, 1, 2, 3], [1, 1, 3, 2], [1, 2, 1, 3]]

StandardBracketedLyndonWords(n, k)

source code 

Returns the combinatorial class of standard bracketed Lyndon
words from [1, ..., n] of length k.  These are in one to one
correspondence with the Lyndon words and form a basis for
the subspace of degree k of the free Lie algebra of rank n.

EXAMPLES:
    sage: SBLW33 = StandardBracketedLyndonWords(3,3); SBLW33
    Standard bracketed Lyndon words from an alphabet of size 3 of length 3  
    sage: SBLW33.first()
    [1, [1, 2]]
    sage: SBLW33.last()
    [[2, 3], 3]
    sage: SBLW33.count()
    8
    sage: SBLW33.random_element()
    [1, [1, 2]]

standard_bracketing(lw)

source code 

Returns the standard bracketing of a Lyndon word lw.

EXAMPLES:
    sage: import sage.combinat.lyndon_word as lyndon_word
    sage: map( lyndon_word.standard_bracketing, LyndonWords(3,3) )
    [[1, [1, 2]],
     [1, [1, 3]],
     [[1, 2], 2],
     [1, [2, 3]],
     [[1, 3], 2],
     [[1, 3], 3],
     [2, [2, 3]],
     [[2, 3], 3]]