Ask Your Question

How to find the longest word in a subgroup of the symmetric group using Sage?

asked 2020-04-12 22:25:40 +0200

lijr07 gravatar image

Let $S_n$ be the symmetric group over $\{1,2,\ldots,n\}$. Let $J$ be a subset of $\{1,\ldots, n-1\}$ and let $W_J$ be the subgroup of $S_n$ generated by $s_j, j\in J \subset \{1, \ldots, n-1\}$, where $s_j$'s are simple reflections. How to find the longest word in $W_J$ in Sage? The following is some codes.

W = SymmetricGroup(8)
[s1,s2,s3,s4,s5,s6,s7] = W.simple_reflections()

Thank you very much.

edit retag flag offensive close merge delete


Something like the following...?!

sage: S8 = SymmetricGroup(8)                                                                                                                                                                          
sage: S7 = SymmetricGroup(7)                                                                                                                                                                          
sage: S8( S7.long_element() )                                                                                                                                                                         
dan_fulea gravatar imagedan_fulea ( 2020-04-13 18:52:10 +0200 )edit

@lijr07 could you please provide a definition of longest word ?

tmonteil gravatar imagetmonteil ( 2020-04-13 21:17:20 +0200 )edit

1 Answer

Sort by » oldest newest most voted

answered 2020-04-13 21:56:07 +0200

FrédéricC gravatar image

Here is a starting point. The rest is standard Coxeter theory.

sage: W = CoxeterGroup(['A',4])
sage: w = W.long_element()
sage: t = w.coset_representative([1,2])
edit flag offensive delete link more


@FrédéricC, thank you very much. I tried to use the following commands to find the longest word in $W_{J}$, $J=\{1,2\}$. But it doesn't give the answer $s_1 s_2 s_1$.

W = CoxeterGroup(['A',4])
w = W.long_element()
t = w.coset_representative([1,2])
lijr07 gravatar imagelijr07 ( 2020-04-14 00:24:52 +0200 )edit

You need to look at the other factor of the canonical factorisation

  sage: (~t*w).reduced_word()
  [1, 2, 1]
FrédéricC gravatar imageFrédéricC ( 2020-04-14 10:11:37 +0200 )edit

@FrédéricC, thank you very much for your very useful answer. Do you know how to find the unique element with maximal length in a double coset of a Weyl group: ?

lijr07 gravatar imagelijr07 ( 2022-01-21 20:47:21 +0200 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2020-04-12 22:25:40 +0200

Seen: 396 times

Last updated: Apr 13 '20