Braid Orbit#

Cython function to compute the orbit of the braid moves on a reduced word.

sage.combinat.root_system.braid_orbit.BraidOrbit(word, rels)#

Return the orbit of word by all replacements given by rels.

INPUT:

  • word – list of integers

  • rels – list of pairs (A, B), where A and B are lists of integers the same length

EXAMPLES:

sage: from sage.combinat.root_system.braid_orbit import BraidOrbit
sage: word = [1,2,1,3,2,1]
sage: rels = [[[2, 1, 2], [1, 2, 1]], [[3, 1], [1, 3]], [[3, 2, 3], [2, 3, 2]]]
sage: sorted(BraidOrbit(word, rels))
[(1, 2, 1, 3, 2, 1),
 (1, 2, 3, 1, 2, 1),
 (1, 2, 3, 2, 1, 2),
 (1, 3, 2, 1, 3, 2),
 (1, 3, 2, 3, 1, 2),
 (2, 1, 2, 3, 2, 1),
 (2, 1, 3, 2, 1, 3),
 (2, 1, 3, 2, 3, 1),
 (2, 3, 1, 2, 1, 3),
 (2, 3, 1, 2, 3, 1),
 (2, 3, 2, 1, 2, 3),
 (3, 1, 2, 1, 3, 2),
 (3, 1, 2, 3, 1, 2),
 (3, 2, 1, 2, 3, 2),
 (3, 2, 1, 3, 2, 3),
 (3, 2, 3, 1, 2, 3)]
sage: len(_)
16