ASKSAGE: Sage Q&A Forum - RSS feedhttps://ask.sagemath.org/questions/Q&A Forum for SageenCopyright Sage, 2010. Some rights reserved under creative commons license.Sat, 22 Apr 2023 10:54:36 +0200How to write an involution in Weyl group as a product of $2$-cycles?https://ask.sagemath.org/question/67777/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.lijr07Sat, 22 Apr 2023 10:54:36 +0200https://ask.sagemath.org/question/67777/How to find the element with maximal length in a double coset of a Coxeter group?https://ask.sagemath.org/question/59591/how-to-find-the-element-with-maximal-length-in-a-double-coset-of-a-coxeter-group/ Let $W$ be a finite Coxeter group. Denote by $W_I$ the subgroup of $W$ generated by $s_i$, $i \in I$, $I$ is a subset of the set of vertices of the Dynkin diagram of $W$. For every $w \in W$, and $I, J$ subsets of the set of vertices of the Dynkin diagram, I would like to write a function in Sagemath to find the element of maximal length in the double coset $W_I w W_J$. In type A, the case of symmetric group, I wrote the following program and it works.
def LongestPermInDoubleCoset(S1,w,S2): # longest element in S1 w S2, S1,S2 are subgroups of S_n
winner = W.identity()
for u1 in S1:
for u2 in S2:
t1=u1*w*u2
if t1.length()>winner.length():
winner=t1
r=winner
return r
W=SymmetricGroup(6)
[s1,s2,s3,s4,s5] = W.simple_reflections()
S1=[W.identity(), s1]
S2=[W.identity(),s2]
t1=LongestPermInDoubleCoset(S1,s1,S2)
t2=t1.reduced_word()
t2
One problem in the above program is that I have to give S1, S2 explicitly. I would like to revise the program such that when given S1, S2, I only need to give simple reflections. For example, when give S1=[W.identity(), s1], I would like to give S1 = <generated by s1>.
Another problem in the above program is that it works only for symmetric group. How to revise it such that it works for any Coxeter group (or at least Weyl group)? Thank you very much.
lijr07Thu, 04 Nov 2021 16:45:27 +0100https://ask.sagemath.org/question/59591/How to find all reduced expression of the longest element in a Weyl group?https://ask.sagemath.org/question/59640/how-to-find-all-reduced-expression-of-the-longest-element-in-a-weyl-group/ Let $W$ be a Weyl group. How to find reduced expression of the longest element $w_0 \in W$ in SageMath?
I can define
W = WeylGroup(["E", 6])
w0=W.long_element().reduced_word()
Then I got one reduced expression of $w_0$. But how to obtain all reduced expression of $w_0$? Thank you very much.lijr07Mon, 08 Nov 2021 17:35:19 +0100https://ask.sagemath.org/question/59640/How to find the longest word in a subgroup of the symmetric group using Sage?https://ask.sagemath.org/question/50708/how-to-find-the-longest-word-in-a-subgroup-of-the-symmetric-group-using-sage/ 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.lijr07Sun, 12 Apr 2020 22:25:40 +0200https://ask.sagemath.org/question/50708/How to convert an element in a Symmetric group to a one-line notation in Sagehttps://ask.sagemath.org/question/50656/how-to-convert-an-element-in-a-symmetric-group-to-a-one-line-notation-in-sage/Let $S_n$ be the symmetric group over $\{1,2,\ldots,n\}$. Let $w=s_{i_1} \cdots s_{i_m} \in S_n$, where $s_i$'s are simple reflections. How to convert $w$ to a one-line notation in Sage? The following are my codes.
W = WeylGroup("A7", prefix="s")
[s1,s2,s3,s4,s5,s6,s7] = W.simple_reflections()
w=s2*s4*s6
I want to convert $w$ to a one line nation. Thank you very much.lijr07Fri, 10 Apr 2020 16:59:43 +0200https://ask.sagemath.org/question/50656/Create an alternative: W(E8) act on positive roots to get some rootshttps://ask.sagemath.org/question/23811/create-an-alternative-we8-act-on-positive-roots-to-get-some-roots/ W=WeylGroup(['E',8])
R = RootSystem(['E',8]).root_lattice()
alpha = R.simple_roots();alpha
[w for w in W if w.action(alpha[1])==(alpha[1]+alpha[2])]
Output shows : gap: cannot extend the workspace any more!
**Is their any alternative calculation to simplify the above **BiswajitSun, 17 Aug 2014 19:13:57 +0200https://ask.sagemath.org/question/23811/How do I work with the character tables of Weyl groups in Sage to compute restrictions to parabolic subgroups?https://ask.sagemath.org/question/10622/how-do-i-work-with-the-character-tables-of-weyl-groups-in-sage-to-compute-restrictions-to-parabolic-subgroups/The question is essentially what is in the title. To be more concrete, let's start with the Weyl group of type $E_6$. This contains a parabolic subgroup of type $D_5$. I know how to look at the character tables of these groups using sage: for instance
W=WeylGroup(["E",6]);
ctE6=W.character_table();
ctE6
and I can do the same thing with $D_5$, of course. Also, I can realize $D_5$ as the subgroup of $W$ generated by five of the simple reflections. The problem is that I don't know how to get Sage to tell me which elements are in the conjugacy class (for example) labelled 6b in the E6 table---all I know about this class is that it consists of elements of order 6. For my purposes, I really need to know *which* elements these are, in matrix form, so that I can restrict the characters to $D_5$ and expand the result there in terms of irreducible $D_5$ characters.StephenThu, 17 Oct 2013 21:05:04 +0200https://ask.sagemath.org/question/10622/Producing subgroups of Weyl groupshttps://ask.sagemath.org/question/8606/producing-subgroups-of-weyl-groups/Let W be a Weyl group, e.g.
W = RootSystem('[A, 4]').weight_lattice().weyl_group
Given some elements $S \subset W$, I would like to produce the subgroup generated by $S$. It seems like there are methods in SAGE to do this when W is an abstract group, but I can't see how to do it when $W$ is a Weyl group. Any suggestions?markblunkWed, 04 Jan 2012 15:42:04 +0100https://ask.sagemath.org/question/8606/dual of weyl grouphttps://ask.sagemath.org/question/8217/dual-of-weyl-group/I was wondering if it is possible to, given an element in a Weyl group, produce the corresponding element in the dual Weyl group. As an example, if
`w` in `W = RootSystem(['A', 3]).weight_lattice().weyl_group()`
Then I would like a function f such that
`f(w)` in `RootSystem(['A', 3]).coroot_lattice().weyl_group()`,
with the obvious duality
`<w*x,y> = <x,f(w)*(y)>`,
where x in the weight lattice and y is in the coroot lattice.
thanksmarkblunkSat, 09 Jul 2011 18:29:38 +0200https://ask.sagemath.org/question/8217/