# How to write an involution in Weyl group as a product of $2$-cycles?

Is there some method in Sage to decompose an involution in Weyl group as a product of $2$-cycles (transpositions)?

For example, I define

W=WeylGroup(['A', 3], prefix='s')
t1=[1,2,3,1,2,1]
t2=W.from_reduced_word(t1)


How to write t2 as a product of $2$-cycles? The result should be $(1,4)(2,3)$. Thank you very much.

edit retag close merge delete

Something along these lines should do the job:

R = W.domain().roots()
perm = Word(map(t2.action,R)).standard_permutation() / Word(R).standard_permutation()
perm.cycle_tuples()

( 2023-04-25 02:05:22 +0200 )edit

@max, thank you very much! But the result I got is [(1, 12), (2, 11), (3, 10), (4, 9), (5, 8), (6, 7)] not (1,4)(2,3). Do you know what is the problem? Thank you very much.

( 2023-04-27 22:24:26 +0200 )edit

It depends on how you interpret t2 as a permutation. In the code above I consider it as a permutation of the 12 roots. If you have something else in mind, modify the code accordingly.

( 2023-04-27 23:26:39 +0200 )edit

E.g. try to change .roots() to .simple_roots().

( 2023-04-27 23:44:28 +0200 )edit

@max, thank you very much. I tried simple_roots() but it has errors. The t2 is the product of simple reflections $s_1s_2s_3s_1s_2s_1$.

( 2023-04-28 15:55:22 +0200 )edit

Sort by ยป oldest newest most voted

According to the interpretation given in the comments, the desired representation as the product of 2-cycles can be obtained as

prod(Permutation((i,i+1)) for i in t1).cycle_tuples()

more