# Verma modules and accessing constants of proportionality

The Math Part: Let me first describe the math without going into the programming. Start with two vectors $v$ and $w$ in a vector space (just a regular vector space with no additional structure). Let's say we know that $w=\lambda\cdot v$ for some scalar $\lambda$. Given $w$ and $v$, can we figure out what $\lambda$ is?

The Programming Part: Now let me describe specifics of my calculation. I am working with a Verma Module over $\frak{sp}(4)$.

sage: L = lie_algebras.sp(QQ, 4)
sage: La = L.cartan_type().root_system().weight_lattice().fundamental_weights()
sage: M = L.verma_module(La[1] - 3*La[2])
sage: pbw = M.pbw_basis()
sage: x1,x2,y1,y2,h1,h2 = [pbw(g) for g in L.gens()]


We will call the highest weight vector $v$. In code,

sage: v = M.highest_weight_vector()
sage: v
sage: v[Lambda[1] - 3*Lambda[2]]


Now we have $x_2y_2\cdot v=-3\cdot v$ and $x_2^2y_2^2\cdot v= 24\cdot v$. So in code,

sage: x2*y2*v
sage: -3*v[Lambda[1] - 3*Lambda[2]]
sage: x2^2*y2^2*v
sage: 24*v[Lambda[1] - 3*Lambda[2]]


In general, we will have $$x_2^ny_2^n\cdot v=c_n\cdot v$$ for some constant $c_n$ (with $c_1=-3$ and $c_2=24$).

My questions is the following.

How to access this constant $c_n$, given that we know $v$ and $c_n\cdot v$?

edit retag close merge delete

Sort by » oldest newest most voted

Not sure if it's the best way, but you can do the following:

sage: for n in range(10):
sage:    c = (x2^n*y2^n*v).coefficients()[0]
sage:    print('c_{} = {}'.format(n, c))
c_0 = 1
c_1 = -3
c_2 = 24
c_3 = -360
c_4 = 8640
c_5 = -302400
c_6 = 14515200
c_7 = -914457600
c_8 = 73156608000
c_9 = -7242504192000

more