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),)
-