Loading [MathJax]/jax/output/HTML-CSS/jax.js
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Definig several independent Weyl Character Rings

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=χR1(U)χR2(V)

where UG1, VG2 are matrices in groups G1 and G2 and R1,2 are corresponding representations. Let's say I want to find x2 (or any other power) expanded in terms of irreps. If G1G2 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 G1=G2 (for example A2 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?

click to hide/show revision 2
None

updated 0 years ago

FrédéricC gravatar image

Definig several independent Weyl Character Rings

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=χR1(U)χR2(V)

where UG1, VG2 are matrices in groups G1 and G2 and R1,2 are corresponding representations. Let's say I want to find x2 (or any other power) expanded in terms of irreps. If G1G2 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 G1=G2 (for example A2 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?