Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Scaling and tensor product for Lie Groups

I am new to any coding. I want to compute a tensor product of several scaled weights of a lie group and I can't get this to work.

Looking at the sage math pages for Weyl Character Rings, I figured out how to do tensor product decompositions, e.g. if you put in

A2 = WeylCharacterRing("A3",style="coroots")

A2(1,1,1)A2(1,1,0)A2(1,1,0)

then it gives you the decomposition of the above tensor product (where the weights (1,1,1), etc., are written in the fundamental weight basis).

I want to compute something like

A2(2,2,2)A2(2,2,0)A2(2,2,0)

where each of the weights is scaled by 2, but without having to manually scale the weights (so I can implement this in some more general code).

You can scale weights by entering e.g. A2(1,1,1).scale(2), and this gives you A2(2,2,2), BUT this only works for me when I add .ambient() to the end of the definition of A2 above. HOWEVER after I add .ambient(), the tensor products no longer work! (If I try to do a tensor product after adding the .ambient(), it just adds the vectors componentwise...)

If anyone is familiar with how to do this sort of thing, your help would be greatly appreciated! Thanks.

click to hide/show revision 2
None

Scaling and tensor product for Lie Groups

I am new to any coding. I want to compute a tensor product of several scaled weights of a lie group and I can't get this to work.

Looking at the sage math pages for Weyl Character Rings, I figured out how to do tensor product decompositions, e.g. if you put in

A2 = WeylCharacterRing("A3",style="coroots")

A2(1,1,1)A2(1,1,0)A2(1,1,0)

WeylCharacterRing("A3",style="coroots") A2(1,1,1)*A2(1,1,0)*A2(1,1,0)

then it gives you the decomposition of the above tensor product (where the weights (1,1,1), etc., are written in the fundamental weight basis).

I want to compute something like

A2(2,2,2)A2(2,2,0)A2(2,2,0)

A2(2,2,2)*A2(2,2,0)*A2(2,2,0)

where each of the weights is scaled by 2, but without having to manually scale the weights (so I can implement this in some more general code).

You can scale weights by entering e.g. A2(1,1,1).scale(2), and this gives you A2(2,2,2), BUT this only works for me when I add .ambient() to the end of the definition of A2 above. HOWEVER after I add .ambient(), the tensor products no longer work! (If I try to do a tensor product after adding the .ambient(), it just adds the vectors componentwise...)

If anyone is familiar with how to do this sort of thing, your help would be greatly appreciated! Thanks.