Ask Your Question
0

Implementing characters inside the function

asked 2024-06-27 15:20:58 +0100

Anton gravatar image

updated 2024-06-27 16:46:35 +0100

I am new to Sage so probably the question is simple but web search and reading docs did not help so far to find answer. I want to compute Taylor series of certain function that contains character of certain representation inside. As a simple example let's say we want to compute:

$$e^{t*\chi_{Adj}(a)}$$

where $a$ is for example $SU(2)$ matrix. I would like to expand it in series of $t$ and compute coefficient of the singlet representation. I found SageMath WeylCharacterRing method to be impressively effective in computing representations decomposition in irreps and it seems a natural choice for this problem. To solve my problem I take an adjoint representation of SU(2)

G=WeylCharacterRing(['A',1],style="coroots")
ad = G.adjoint_representation()

and try to feed it into symbolic expression

exp(t*ad)

The result is TypeError. There are two problems both due to the TypeError that I see

1) While ad**n gives me write decomposition if I try the following

t = var('t')
g(t) = t**2
g(ad)

I get TypeError. So ad is of the wrong type to be inside symbolic expression as far as I understand.

2) The same happens if I just try to multiply ad with some symbolic variables

t*ad

The question is if there a way to make objects from WeylCharacterRing to work in symbolic expressions. All I need is to substitute representation characters into an expression containing other symbolic variables and powers of representations and expand in irreps.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
2

answered 2024-06-28 07:40:33 +0100

Max Alekseyev gravatar image

It is always a good idea to avoid generic symbolic ring in favor of more specific classes, which typically provide richer functionality and better efficiency. Here, since you are interested in a series expansion, you'd better work in the corresponding power series ring - for example:

G = WeylCharacterRing(['A',1], base_ring=QQ, style="coroots")
ad = G.adjoint_representation()
K.<t> = PowerSeriesRing(G)
print( (ad*t).exp(5) )

which prints

A1(0) + A1(2)*t + (1/2*A1(0) + 1/2*A1(2) + 1/2*A1(4))*t^2 + (1/6*A1(0) + 1/2*A1(2) + 1/3*A1(4) + 1/6*A1(6))*t^3 + (1/8*A1(0) + 1/4*A1(2) + 1/4*A1(4) + 1/8*A1(6) + 1/24*A1(8))*t^4 + O(t^5)
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

Stats

Asked: 2024-06-27 15:20:58 +0100

Seen: 163 times

Last updated: Jun 28