Ask Your Question
0

Defining several independent Weyl Character Rings

asked 2024-08-08 19:39:01 +0200

Anton Nedelin gravatar image

updated 2024-08-09 17:29:48 +0200

FrédéricC gravatar image

I have the following problem. I want to define expression which contains elements of several Weyl Character Rings. The problem comes from physics. I have expression for theory with several symmetries, which can be of the same or different groups which involves characters of these groups representations. Let's take a simplest example of such expression

$x = \chi_{R_1}(U)\chi_{R_2}(V)$

where $U\in G_1 $, $V\in G_2 $ are matrices in groups $G_1$ and $G_2$ and $R_{1,2}$ are corresponding representations. Let's say I want to find $x^2$ (or any other power) expanded in terms of irreps. If $G_1 \neq G_2$ I can write the following code that will work

G1 = WeylCharacterRing(['A',2], base_ring=QQ, style="coroots")
G2 = WeylCharacterRing(['A',1], base_ring=G1, style="coroots")
fund1 = G1(G1.fundamental_weights()[1]); 
fund2 = G2(G2.fundamental_weights()[1]); 
x  = fund1*fund2
x**2

which gives me what I want

  (A2(0,1)+A2(2,0))*A1(0) + (A2(0,1)+A2(2,0))*A1(2)

Here for simplicity I took $SU(2)$ and $SU(3)$ groups and fundamental representations for both of them. Now if $G_1 = G_2$ (for example $A_2$ root system in both cases) it also works but result is not very readable now since I can not understand which representation belongs to one group or another. For example

G1 = WeylCharacterRing(['A',2], base_ring=QQ, style="coroots")
G2 = WeylCharacterRing(['A',2], base_ring=G1, style="coroots")
fund1 = G1(G1.fundamental_weights()[1]); 
fund2 = G2(G2.fundamental_weights()[1]); 
ad1 = G1.adjoint_representation()
ad2 = G2.adjoint_representation()
x = fund1*ad2
x**2

gives me back

(A2(0,1)+A2(2,0))*A2(0,0) + (A2(0,1)+A2(2,0))*A2(0,3) + (2*A2(0,1)+2*A2(2,0))*A2(1,1) + (A2(0,1)+A2(2,0))*A2(3,0) + (A2(0,1)+A2(2,0))*A2(2,2)

which is hard to read. Is there a simple way to keep track which of the expressions belongs to one group or another?

edit retag flag offensive close merge delete

Comments

It's hard to read but not impossible: in each term the first factor in parentheses is in the base ring G1, and the second factor is in G2.

rburing gravatar imagerburing ( 2024-08-09 09:26:59 +0200 )edit

@rburing Yes sure it is possible to read. The problem that real expressions I work with can have more groups and will be more massive in general. It is still possible to read them since order of factors is always the same but I was wondering if there is a smart way to simplify readability.

Anton Nedelin gravatar imageAnton Nedelin ( 2024-08-09 13:51:59 +0200 )edit

@FrédéricC Thanks a lot, that is exactly what I was looking for.

Anton Nedelin gravatar imageAnton Nedelin ( 2024-08-09 23:41:45 +0200 )edit

1 Answer

Sort by » oldest newest most voted
1

answered 2024-08-09 17:27:39 +0200

FrédéricC gravatar image

you can use the prefix as follows

sage: A=WeylCharacterRing(['A',2], base_ring=QQ, style="coroots", prefix="🍌")
edit flag offensive delete link more

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

Stats

Asked: 2024-08-08 19:39:01 +0200

Seen: 181 times

Last updated: Aug 09