Braid Move Calculator#
AUTHORS:
Dinakar Muthiah (2014-06-03): initial version
- class sage.combinat.root_system.braid_move_calculator.BraidMoveCalculator(coxeter_group)#
Bases:
object
Helper class to compute braid moves.
- chain_of_reduced_words(start_word, end_word)#
Compute the chain of reduced words from
stard_word
toend_word
.INPUT:
start_word
,end_word
– two reduced expressions for the long word
EXAMPLES:
sage: from sage.combinat.root_system.braid_move_calculator import BraidMoveCalculator sage: W = CoxeterGroup(['A',5]) sage: B = BraidMoveCalculator(W) sage: B.chain_of_reduced_words((1,2,1,3,2,1,4,3,2,1,5,4,3,2,1), # not tested ....: (5,4,5,3,4,5,2,3,4,5,1,2,3,4,5))
- put_in_front(k, input_word)#
Return a list of reduced words starting with
input_word
and ending with a reduced word whose first letter isk
.There still remains an issue with 0 indices.
EXAMPLES:
sage: from sage.combinat.root_system.braid_move_calculator import BraidMoveCalculator sage: W = CoxeterGroup(['C',3]) sage: B = BraidMoveCalculator(W) sage: B.put_in_front(2, (3, 2, 3, 1, 2, 3, 1, 2, 1)) ((3, 2, 3, 1, 2, 3, 1, 2, 1), (3, 2, 3, 1, 2, 1, 3, 2, 1), (3, 2, 3, 2, 1, 2, 3, 2, 1), (2, 3, 2, 3, 1, 2, 3, 2, 1)) sage: B.put_in_front(1, (3, 2, 3, 1, 2, 3, 1, 2, 1)) ((3, 2, 3, 1, 2, 3, 1, 2, 1), (3, 2, 1, 3, 2, 3, 1, 2, 1), (3, 2, 1, 3, 2, 3, 2, 1, 2), (3, 2, 1, 2, 3, 2, 3, 1, 2), (3, 1, 2, 1, 3, 2, 3, 1, 2), (1, 3, 2, 1, 3, 2, 3, 1, 2)) sage: B.put_in_front(1, (1, 3, 2, 3, 2, 1, 2, 3, 2)) ((1, 3, 2, 3, 2, 1, 2, 3, 2),)