Fordham
    University

Computer calculations for "Some singular curves in Mukai's model of \(\overline{M}_7\)", Section 6

Code 6.10: Computing highest weight vectors of \(V(5 \omega_1)\) in \(\operatorname{Sym}^2 V_1\) and \(\operatorname{Sym}^2 V_2\)

We compute highest weight vectors \(w_1\) in \( \operatorname{Sym}^2 V_1\) and \(w_2\) in \( \operatorname{Sym}^2 V_2\) with highest weights \( 5 \omega_1\).

We use an iterative approach. First, we construct elements \(f_1 \in (\operatorname{Sym}^2 V_1)_{(5,0,0,0,0)}\) and \(f_2 \in (\operatorname{Sym}^2 V_2)_{(5,0,0,0,0)}\). Next, we compute the eigenvalues of the Casimir operator acting on \( (\operatorname{Sym}^2 V_1)_{(5,0,0,0,0)} \) and on\( (\operatorname{Sym}^2 V_2)_{(5,0,0,0,0)}\). Finally, we compute the highest weight vectors \(w_1\) and \(w_2\) from \(f_1\) and \(f_2\) by iteratively projecting away the eigenspaces of the Casimir operator that do not correspond to the submodule \( V(5\omega_1)\).

Constructing elements of weight \(5 \omega_1\)

First, we construct elements \(f_1 \in (\operatorname{Sym}^2 V_1)_{(5,0,0,0,0)}\) and \(f_2 \in (\operatorname{Sym}^2 V_2)_{(5,0,0,0,0)}\).

We begin by finding pairs of weights in \(V_1\) that sum to \(5 \omega_1\).

Here are the files loaded in this session.

Macaulay2, version 1.20
with packages: ConwayPolynomials, Elimination, IntegralClosure, InverseSystems,
               Isomorphism, LLLBases, MinimalPrimes, OnlineLookup,
               PrimaryDecomposition, ReesAlgebra, Saturation, TangentCone

i1 : -- Find pairs of weights mu1 and mu2 in V1 such that mu1+mu2=5w5
     loadPackage("LieTypes");

i2 : loadPackage("Cyclotomic");

i3 : load "LieAlgebraRepresentations.v2.3.m2";

i4 : load "SpinRepresentations.v1.7.m2";

i5 : g=simpleLieAlgebra("D",5)

o5 = g

o5 : LieAlgebra

i6 : V1=irreducibleLieAlgebraModule({1,0,1,0,1},g);

i7 : WD1=weightDiagram(V1);

i8 : wts1=keys(WD1);

i9 : L={};

i10 : for i from 0 to #wts1-1 do (
       for j from i to #wts1-1 do (
         if wts1_i+wts1_j == {5,0,0,0,0} then L=append(L,{wts1_i,wts1_j})
       )
      );

i11 : L

o11 = {{{1, 3, -2, 1, 0}, {4, -3, 2, -1, 0}}, {{1, 1, 0, 1, 0}, {4, -1, 0, -1, 0}}, {{4, -1, 1, -1, -2}, {1, 1, -1, 1, 2}}, {{1, 3, -1, -1, 0}, {4, -3, 1, 1, 0}}, {{3, -1, -1, 3, 0}, {2, 1, 1, -3, 0}}, {{1, 1, 1, -1, 0}, {4, -1, -1, 1, 0}}, {{3, 1, -2, 1, 0}, {2, -1, 2, -1, 0}}, {{3, -1, 0, 1, 0}, {2, 1, 0, -1, 0}}, {{3, 1, -1, -1, 0}, {2, -1, 1, 1, 0}}, {{3, -1, 1, -1, 0}, {2, 1, -1, 1, 0}}, {{3, -1, 2, -3, 0}, {2, 1, -2, 3, 0}}, {{2, 1, -2, 1, 2}, {3, -1, 2, -1, -2}}, {{2, -1, 0, 1, 2}, {3, 1, 0, -1, -2}}, {{2, 0, 2, 0, -3}, {3, 0, -2, 0, 3}}, {{2, 1, -1, -1, 2}, {3, -1, 1, 1, -2}}, {{2, -1, 1, -1, 2}, {3, 1, -1, 1, -2}}, {{1, 2, -1, 2, -1}, {4, -2, 1, -2, 1}}, {{4, -1, -2, 1, 2}, {1, 1, 2, -1, -2}}, {{1, 2, 0, 0, -1}, {4, -2, 0, 0, 1}}, {{4, -1, -1, -1, 2}, {1, 1, 1, 1, -2}}, {{1, 0, 2, 0, -1}, {4, 0, -2, 0, 1}}, {{3, 0, -1, 2, -1}, {2, 0, 1, -2, 1}}, {{1, 2, 1, -2, -1}, {4, -2, -1, 2, 1}}, {{3, -2, 1, 2, -1}, {2, 2, -1, -2, 1}}, {{3, 0, 0, 0, -1}, {2, 0, 0, 0, 1}}, {{3, -2, 2, 0, -1}, {2, 2, -2, 0, 1}}, {{3, 0, 1, -2, -1}, {2, 0, -1, 2, 1}}, {{3, -2, 3, -2, -1}, {2, 2, -3, 2, 1}}, {{1, 1, 0, -1, 2}, {4, -1, 0, 1, -2}}, {{3, 1, -3, 1, 2}, {2, -1, 3, -1, -2}}, {{3, -1, -1, 1, 2}, {2, 1, 1, -1, -2}}, {{3, 0, 1, 0, -3}, {2, 0, -1, 0, 3}}, {{3, 1, -2, -1, 2}, {2, -1, 2, 1, -2}}, {{3, -1, 0, -1, 2}, {2, 1, 0, 1, -2}}, {{2, 2, -2, 2, -1}, {3, -2, 2, -2, 1}}, {{2, 0, 0, 2, -1}, {3, 0, 0, -2, 1}}, {{2, 2, -1, 0, -1}, {3, -2, 1, 0, 1}}, {{2, 0, 1, 0, -1}, {3, 0, -1, 0, 1}}, {{2, 2, 0, -2, -1}, {3, -2, 0, 2, 1}}, {{4, -2, 0, 2, -1}, {1, 2, 0, -2, 1}}, {{2, 0, 2, -2, -1}, {3, 0, -2, 2, 1}}, {{1, 2, -2, 2, 1}, {4, -2, 2, -2, -1}}, {{4, 0, -1, 0, -1}, {1, 0, 1, 0, 1}}, {{4, -2, 1, 0, -1}, {1, 2, -1, 0, 1}}}

o11 : List
We work with the first pair of weights on this list. We seek elements \(f_{1a}\) and \(f_{1b}\) of \(V_1\) of weights \( (1,3,-2,1,0)\) and \( (4,-3,2,-1,0)\). For each of these two weights, we find that the weight spaces are one-dimensional in \( \Lambda^7 S^{+}\), and thus we need only compute wedge products that have the desired weights.
i12 : WD1#{1, 3, -2, 1, 0}

o12 = 1

i13 : WD1#{4, -3, 2, -1, 0}

o13 = 1

i14 : -- Find polynomials f1a and f1b of weights mu1 and mu2
      n=5;

i15 : B = so2nBasis(n);

i16 : so2nRaisingOperators = so2nPositiveRoots(n);

i17 : PhiminusIndices = select(#B, i -> i >=n and not member(B_i,so2nRaisingOperators));

i18 : sB = spinBasis(n,QQ);

i19 : Bstar = so2nDualBasis(n);

i20 : BstarPerm = flatten apply(#Bstar, i -> flatten select(#B, j -> Bstar_i == 1/(4*(n-1))*B_j));

i21 : splusBDense = apply(sB, M -> M_(apply(2^(n-1), i -> i))^(apply(2^(n-1), i -> i)));

i22 : splusB = apply(splusBDense, M -> sparseRep(M));

i23 : EWB = evenWedgeBasis(n);

i24 : k=7;

i25 : snk = sort subsets(apply(2^(n-1), i -> i),k);

i26 : ZtoW = new HashTable from apply(#snk, i -> {i,snk_i});

i27 : WtoZ = new HashTable from apply(#snk, i -> {snk_i,i});

i28 : ringSubscripts = apply(snk, s -> apply(s, i -> EWB_i));

i29 : K=cyclotomicField(4);

i30 : R=K[apply(ringSubscripts, i -> yy_i),MonomialOrder=>Lex];

i31 : WedgekSplusBasis = apply(splusB, X -> XactionOnWedgek(X,k,ZtoW,WtoZ));

i32 : Splusweights = apply(2^(n-1), j -> apply(n, i -> splusBDense_i_(j,j)));

i33 : Wedgekweights = apply(snk, s -> sum apply(s, j -> LtoD(Splusweights_j)));

i34 : select(#snk, i -> Wedgekweights_i=={1, 3, -2, 1, 0})

o34 = {6486}

o34 : List

i35 : select(#snk, i -> Wedgekweights_i=={4, -3, 2, -1, 0})

o35 = {8314}

o35 : List

i36 : f1a = R_6486

o36 = yy
        {{1, 2}, {1, 4}, {1, 5}, {2, 4}, {1, 2, 3, 4}, {1, 2, 3, 5}, {1, 2, 4, 5}}

o36 : R

i37 : f1b = R_8314

o37 = yy
        {{1, 3}, {1, 4}, {1, 5}, {3, 5}, {1, 2, 3, 4}, {1, 2, 3, 5}, {1, 3, 4, 5}}

o37 : R
Next, we find pairs of weights in \(V_2\) that sum to \(5 \omega_1\).
i38 : -- Now do V2
      V2=irreducibleLieAlgebraModule({3,0,0,1,0},g);

i39 : WD2=weightDiagram(V2);

i40 : wts2=keys(WD2);

i41 : L={};

i42 : for i from 0 to #wts2-1 do (
       for j from i to #wts2-1 do (
         if wts2_i+wts2_j == {5,0,0,0,0} then L=append(L,{wts2_i,wts2_j})
       )
      );

i43 : L

o43 = {{{1, 1, 0, 1, 0}, {4, -1, 0, -1, 0}}, {{1, 1, 1, -1, 0}, {4, -1, -1, 1, 0}}, {{3, 1, -2, 1, 0}, {2, -1, 2, -1, 0}}, {{3, -1, 0, 1, 0}, {2, 1, 0, -1, 0}}, {{3, 1, -1, -1, 0}, {2, -1, 1, 1, 0}}, {{3, -1, 1, -1, 0}, {2, 1, -1, 1, 0}}, {{1, 0, 0, 1, 0}, {4, 0, 0, -1, 0}}, {{2, 1, -2, 1, 2}, {3, -1, 2, -1, -2}}, {{1, 0, 1, -1, 0}, {4, 0, -1, 1, 0}}, {{2, 1, -1, -1, 2}, {3, -1, 1, 1, -2}}, {{3, 1, 0, 0, -1}, {2, -1, 0, 0, 1}}, {{1, 2, 0, 0, -1}, {4, -2, 0, 0, 1}}, {{3, 0, -1, 2, -1}, {2, 0, 1, -2, 1}}, {{3, 0, 0, 0, -1}, {2, 0, 0, 0, 1}}, {{3, -2, 2, 0, -1}, {2, 2, -2, 0, 1}}, {{4, -1, 0, 0, 1}, {1, 1, 0, 0, -1}}, {{3, 0, 1, -2, -1}, {2, 0, -1, 2, 1}}, {{2, 0, -1, 1, 0}, {3, 0, 1, -1, 0}}, {{3, -1, -1, 1, 2}, {2, 1, 1, -1, -2}}, {{2, 0, 0, -1, 0}, {3, 0, 0, 1, 0}}, {{3, -1, 0, -1, 2}, {2, 1, 0, 1, -2}}, {{4, -1, 1, 0, -1}, {1, 1, -1, 0, 1}}, {{2, 0, 0, 2, -1}, {3, 0, 0, -2, 1}}, {{2, 2, -1, 0, -1}, {3, -2, 1, 0, 1}}, {{2, 0, 1, 0, -1}, {3, 0, -1, 0, 1}}, {{3, 1, -1, 0, 1}, {2, -1, 1, 0, -1}}, {{2, 0, 2, -2, -1}, {3, 0, -2, 2, 1}}, {{4, -2, 1, 0, -1}, {1, 2, -1, 0, 1}}}

o43 : List
Again we work with the first pair of weights on this list. We seek elements \(f_{2a}\) and \(f_{2b}\) of \(V_2\) of weights \( (1,1,0,1,0)\) and \( (4,-1,0,-1,0)\). This time, we find that these weight spaces are one-dimensional in \( V_2\), but have dimension 3 in \( \Lambda^7 S^{+}\).
i44 : WD2#{1,1,0,1,0}

o44 = 1

i45 : WD2#{4,-1,0,-1,0}

o45 = 1

i46 : select(#snk, i -> Wedgekweights_i=={1, 1, 0, 1, 0})

o46 = {5496, 6161, 6827}

o46 : List

i47 : select(#snk, i -> Wedgekweights_i=={4,-1,0,-1,0})

o47 = {2163, 5147, 5155}

o47 : List
Thus, we need to do a little more work to find the desired polynomials for \(V_2\) compared to what was required for \(V_1\).

Following standard conventions for the root system D5, we have \( \alpha_1 = 2 \omega_1-\omega_2\), and hence \( (1,1,0,1,0) = (3,0,0,1,0) - \alpha_1 \). Thus we can obtain an element \(f_{2a}\) of weight \( (1,1,0,1,0)\) by applying the lowering operator \( X_{-\alpha_1}\) to the highest weight vector \(v_2\) of \(V_2\). Previously, we found that \(v_2\) has index 5495 in our list of variables. In our code, the operator \( X_{-\alpha_1}\) is the ninth element in our basis of \( \mathfrak{so}(10)\), and the object WedgekSplusBasis_9 is a sparse representation for its action on \( \Lambda^7 S^{+}.\) We use this to obtain an expression for \(f_{2a}\).

i48 : select(WedgekSplusBasis_9, i -> i#0#1==5495)

o48 = {(6827, 5495) => -1, (6161, 5495) => 1, (5496, 5495) => 1}

o48 : List

i49 : f2a = -R_6827+R_6161+R_5496

o49 = yy                                                                                 + yy                                                                                 - yy
        {{1, 2}, {1, 3}, {1, 4}, {1, 2, 3, 4}, {1, 2, 3, 5}, {1, 2, 4, 5}, {2, 3, 4, 5}}     {{1, 2}, {1, 3}, {2, 4}, {1, 2, 3, 4}, {1, 2, 3, 5}, {1, 2, 4, 5}, {1, 3, 4, 5}}     {{1, 2}, {1, 4}, {2, 3}, {1, 2, 3, 4}, {1, 2, 3, 5}, {1, 2, 4, 5}, {1, 3, 4, 5}}

o49 : R
Next, we use Magma to compute the image of the weight \( (4,-1,0,-1,0) \) in the fundamental Weyl chamber under the Weyl group.
Magma V2.27-8     Tue Apr 18 2023 12:25:45 on MAC-M26AQ05N [Seed = 1242622646]

+-------------------------------------------------------------------+
|       This copy of Magma has been made available through a        |
|                   generous initiative of the                      |
|                                                                   |
|                         Simons Foundation                         |
|                                                                   |
| covering U.S. Colleges, Universities, Nonprofit Research entities,|
|               and their students, faculty, and staff              |
+-------------------------------------------------------------------+

Type ? for help.  Type -D to quit.
> W:=CoxeterGroup("D5");
> DominantWeight(W,[4, -1, 0, -1, 0] : Basis:="Weight");
(1 1 0 1 0)
$.2 * $.3 * $.4 * $.3 * $.2 * $.5 * $.3 * $.2 * $.4
We find that the weight \( (4,-1,0,-1,0) \) is in the Weyl group orbit of the weight \( (1,1,0,1,0).\) So we can compute the desired polynomial \(f_{2b}\) by applying a suitable element of the Weyl group to \( f_{2a}\).
i50 : s = WeylLiftGens(5);

i51 : w = s_2*s_3*s_4*s_3*s_2*s_5*s_3*s_2*s_4;

              16       16
o51 : Matrix K   <--- K

i52 : w = wedgeOfScalingPermutation(monomialMatrixToScalingPermutation(w),WtoZ,ZtoW);

i53 : scalingPermutationActionOnPolynomial(w,f2a)

o53 = ww yy                                                                       + ww yy                                                                     - ww yy
        4  {{}, {1, 3}, {1, 4}, {1, 5}, {1, 2, 3, 5}, {1, 2, 4, 5}, {1, 3, 4, 5}}     4  {{1, 2}, {1, 3}, {1, 4}, {1, 5}, {3, 5}, {1, 2, 4, 5}, {1, 3, 4, 5}}     4  {{1, 2}, {1, 3}, {1, 4}, {1, 5}, {4, 5}, {1, 2, 3, 5}, {1, 3, 4, 5}}

o53 : R

i54 : f2b = yy_{{}, {1, 3}, {1, 4}, {1, 5}, {1, 2, 3, 5}, {1, 2, 4, 5}, {1, 3, 4, 5}}+yy_{{1, 2},{1, 3}, {1, 4}, {1, 5}, {3, 5}, {1, 2, 4, 5}, {1, 3, 4, 5}} - yy_{{1, 2}, {1, 3}, {1, 4},{1, 5}, {4, 5}, {1, 2, 3, 5}, {1, 3, 4, 5}};

Eigenvalues of the Casimir operator

Next, we compute the eigenvalues of the Casimir operator acting on \( (\operatorname{Sym}^2 V_1)_{(5,0,0,0,0)}\) and on \( (\operatorname{Sym}^2 V_2)_{(5,0,0,0,0)}\). We use Magma to compute the irreducible decomposition of \( \operatorname{Sym}^2 V_1\) and determine which irreducibles meet the weight \(5 \omega_1\) space nontrivially.
Magma V2.27-8     Mon Apr 17 2023 20:13:51 on MAC-M26AQ05N [Seed = 156273997]

+-------------------------------------------------------------------+
|       This copy of Magma has been made available through a        |
|                   generous initiative of the                      |
|                                                                   |
|                         Simons Foundation                         |
|                                                                   |
| covering U.S. Colleges, Universities, Nonprofit Research entities,|
|               and their students, faculty, and staff              |
+-------------------------------------------------------------------+

Type ? for help.  Type -D to quit.
> R:=RootDatum("D5" : Isogeny := "SC");
> D1:=LieRepresentationDecomposition(R,[[1,0,1,0,1]],[1]);
> Sym2V1:=SymmetricPower(D1,2);
> WtsSym2V1,MultsSym2V1:=WeightsAndMultiplicities(Sym2V1);
> WtsSym2V1;
[
    (2 0 0 1 3),
    (0 2 1 1 1),
    (3 1 0 0 0),
    (0 0 0 1 3),
    (0 0 0 3 1),
    (2 0 1 0 0),
    (0 1 1 0 0),
    (1 1 0 0 4),
    (0 0 2 2 0),
    (1 0 0 2 2),
    (2 0 0 3 1),
    (0 2 0 2 0),
    (3 0 0 1 1),
    (0 1 0 0 2),
    (3 0 0 0 4),
    (2 1 1 1 1),
    (0 1 0 2 0),
    (0 0 1 2 2),
    (0 2 0 0 2),
    (1 0 2 1 1),
    (5 0 0 0 0),
    (0 0 2 0 2),
    (1 2 0 0 0),
    (2 0 0 0 2),
    (4 0 0 0 2),
    (4 0 0 2 0),
    (2 2 0 0 2),
    (1 0 0 1 1),
    (0 1 0 1 3),
    (1 0 2 0 0),
    (0 0 0 2 4),
    (1 3 0 0 0),
    (3 0 1 0 2),
    (0 0 0 2 0),
    (3 0 0 0 0),
    (0 1 3 0 0),
    (2 1 0 0 2),
    (1 0 1 0 2),
    (0 3 1 0 0),
    (1 2 0 1 1),
    (2 1 1 0 0),
    (1 1 0 0 0),
    (2 0 1 1 1),
    (2 0 0 2 0),
    (1 1 0 2 2),
    (2 1 0 2 0),
    (1 1 0 1 1),
    (1 0 1 1 3),
    (0 1 1 1 1),
    (1 1 1 0 2),
    (0 1 0 3 1),
    (0 0 0 0 2),
    (1 0 0 0 0),
    (0 2 0 1 3),
    (1 1 2 0 0),
    (1 0 1 2 0),
    (0 2 1 0 0),
    (3 0 2 0 0),
    (1 1 1 2 0),
    (1 0 0 4 0),
    (3 1 0 1 1),
    (2 2 0 2 0),
    (3 2 0 0 0),
    (2 0 2 0 2),
    (3 0 0 2 2),
    (1 0 0 0 4),
    (0 0 1 1 1)
]
> MultsSym2V1;
[ 3, 1, 2, 3, 2, 2, 6, 1, 2, 6, 1, 4, 4, 3, 1, 1, 3, 1, 6, 2, 1, 3, 4, 5, 2, 1, 1, 5, 3, 
7, 1, 1, 1, 2, 2, 1, 4, 5, 1, 4, 5, 2, 6, 5, 2, 3, 10, 1, 7, 4, 1, 2, 1, 1, 3, 4, 2, 2, 2,
1, 1, 1, 1, 1, 1, 2, 6 ]
> WeightSpaceDimension:=function(R,w,v)
function>      W,M:=DominantWeights(R,w);
function>      for i:=1 to #W do
function|for>        if [W[i][k]: k in [1..#v]] eq [v[k]: k in [1..#v]] then
function|for|if>          return M[i];
function|for|if>      end if;
function|for>      end for;
function>      return 0;
function> end function;
> WSD1:=[WeightSpaceDimension(R,WtsSym2V1[i],[5,0,0,0,0]): i in [1..#WtsSym2V1]];
> WSD1;
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 64, 0, 0, 0, 0, 1, 0, 0, 0, 3, 3, 16, 0, 0,
0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 
0, 0, 14, 16, 3, 48, 16, 0, 0 ]
We load the data computed in Magma into Macaulay2 and determine the spectrum of the Casimir operator on \( (\operatorname{Sym}^2 V_1)_{(5,0,0,0,0)}\).

Here is the file loaded in this session. Sym2V1WtsMultsDim.m2.txt

i1 : loadPackage("LieTypes");

i2 : load "Sym2V1WtsMultsDim.m2";

i3 : cs = v -> casimirScalar(irreducibleLieAlgebraModule(v,simpleLieAlgebra("D",5)));

i4 : irrepsWith5w1 = delete(null,apply(#WtsSym2V1, i -> if Dim5w1_i !=0 then WtsSym2V1_i))

o4 = {{3, 0, 0, 0, 4}, {2, 1, 1, 1, 1}, {5, 0, 0, 0, 0}, {4, 0, 0, 0, 2}, {4, 0, 0, 2, 0}, {2, 2, 0, 0, 2}, {3, 0, 1, 0, 2}, {3, 0, 2, 0, 0}, {3, 1, 0, 1, 1}, {2, 2, 0, 2, 0}, {3, 2, 0, 0, 0}, {2, 0, 2, 0, 2}, {3, 0, 0, 2, 2}}

o4 : List

i5 : cs({5,0,0,0,0})

o5 = 65

o5 : QQ

i6 : apply(irrepsWith5w1, v -> cs(v))

o6 = {105, 107, 65, 81, 81, 101, 97, 93, 89, 101, 81, 117, 101}

o6 : List
Thus, to find \(w_1\), we need to project away the eigenspaces corresponding to the eigenvalues 81, 89, 93, 97, 101, 105, 107, and 117.

We repeat these steps for \(V_2\).

> D2:=LieRepresentationDecomposition(R,[[3,0,0,1,0]],[1]);
> Sym2V2:=SymmetricPower(D2,2);
> WtsSym2V2,MultsSym2V2:=WeightsAndMultiplicities(Sym2V2);
> WtsSym2V2;
[
    (5 0 0 0 0),
    (1 0 0 0 0),
    (3 2 0 0 0),
    (3 1 0 0 0),
    (2 0 0 2 0),
    (1 3 0 0 0),
    (3 0 0 1 1),
    (7 0 0 0 0),
    (0 2 0 0 2),
    (1 2 0 1 1),
    (4 0 0 0 2),
    (6 0 0 2 0),
    (1 1 0 0 0),
    (2 2 0 2 0),
    (2 0 0 0 2),
    (1 1 0 1 1),
    (5 1 0 0 0),
    (4 0 0 2 0),
    (4 1 1 0 0),
    (1 2 0 0 0),
    (5 0 0 1 1),
    (2 1 1 0 0),
    (3 0 0 0 0),
    (0 0 0 0 2),
    (3 1 0 1 1),
    (0 0 0 2 0),
    (0 2 0 2 0),
    (0 1 1 0 0),
    (0 3 1 0 0),
    (1 0 0 1 1)
]
> MultsSym2V2;
[ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1
]
> WSD2:=[WeightSpaceDimension(R,WtsSym2V2[i],[5,0,0,0,0]): i in [1..#WtsSym2V2]];
> WSD2;
[ 1, 0, 3, 0, 0, 0, 0, 4, 0, 0, 3, 36, 0, 16, 0, 0, 8, 3, 48, 0, 24, 0, 0, 0, 14, 0, 0, 0,
0, 0 ]
Here is the file loaded in this session. Sym2V2WtsMultsDim.m2.txt
i7 : load "Sym2V2WtsMultsDim.m2";

i8 : irrepsWith5w1 = delete(null,apply(#WtsSym2V2, i -> if Dim5w1_i !=0 then WtsSym2V2_i))

o8 = {{5, 0, 0, 0, 0}, {3, 2, 0, 0, 0}, {7, 0, 0, 0, 0}, {4, 0, 0, 0, 2}, {6, 0, 0, 2, 0}, {2, 2, 0, 2, 0}, {5, 1, 0, 0, 0}, {4, 0, 0, 2, 0}, {4, 1, 1, 0, 0}, {5, 0, 0, 1, 1}, {3, 1, 0, 1, 1}}

o8 : List

i9 : apply(irrepsWith5w1, v -> cs(v))

o9 = {65, 81, 105, 81, 121, 101, 91, 81, 105, 99, 89}

o9 : List
Thus, to find \(w_2\), we need to project away the eigenspaces corresponding to the eigenvalues 81, 89, 93, 97, 101, 105, 107, and 117.

Constructing highest weight vectors by iterative projections

Finally, we compute the highest weight vectors \(w_1\) and \(w_2\) from \(f_1\) and \(f_2\) by iteratively projecting away the eigenspaces of the Casimir operator that do not correspond to the submodule \( V(5\omega_1)\).
i1 : csMonomial = memoize((B1,B2,m,n) -> (
         if not member(first(degree m),{2,4}) then error "Only implemented for degrees 2 and 4"; 
         mf:=monomialFactors(m);
         m1:=mf_0;
         m2:=mf_1;
         if first(degree(m))==2 then (
             return sum apply(#B1, i -> (B2_i(B1_i(m1)))*m2+m1*(B2_i(B1_i(m2)))+B1_i(m1)*B2_i(m2)+B2_i(m1)*B1_i(m2))
         );
         if first(degree(m))==4 then (
             m3:=mf_2;
             m4:=mf_3;
             L:=for i from 0 to #B1-1 list (
                 X=B1_i;
                 Y=B2_i;
                 f=0;
                 f=f + Y(X(m1))*m2*m3*m4 + X(m1)*Y(m2)*m3*m4 + X(m1)*m2*Y(m3)*m4 + X(m1)*m2*m3*Y(m4);
                 f=f + Y(m1)*X(m2)*m3*m4 + m1*Y(X(m2))*m3*m4 + m1*X(m2)*Y(m3)*m4 + m1*X(m2)*m3*Y(m4);
                 f=f + Y(m1)*m2*X(m3)*m4 + m1*Y(m2)*X(m3)*m4 + m1*m2*Y(X(m3))*m4 + m1*m2*X(m3)*Y(m4);
                 f=f + Y(m1)*m2*m3*X(m4) + m1*Y(m2)*m3*X(m4) + m1*m2*Y(m3)*X(m4) + m1*m2*m3*Y(X(m4));
                 f
             );
             return (1/4*(n-1))*(sum L)
        );    
     ));

i2 : monomialFactors = (m) -> (
         e:=flatten exponents(m);
         A:={};
         for i from 0 to #e-1 do (
     	for j from 0 to e_i-1 do (
     	    A=append(A,R_i)
     	)
         );    
         return A
     );

i3 : cs = (B1,B2,f,n) -> (
         cl:=coefficients(f);
         ml:=flatten entries(cl_0); 
         cl=flatten entries(cl_1);   
         sum apply(#ml, i -> (cl_i)*csMonomial(B1,B2,ml_i,n)) 
     );

i4 : guidedReynoldsProjection = (B1,B2,cs,f,EV) -> (
         g:=f;
         h:=0;
         for i from 0 to #EV-1 do (
             h=cs(B1,B2,g,n);
     	if h==0 then break;
     	g = h - EV_i*g;
     	g = 1/(leadCoefficient(g))*g;
     	print concatenate("Projection for EV ",toString(EV_i)," complete") << endl
         );
         return g   
     );

i5 : load "LieAlgebraRepresentations.v2.3.m2";

i6 : load "SpinRepresentations.v1.7.m2";

i7 : n=5;

i8 : B = so2nBasis(n);

i9 : so2nRaisingOperators = so2nPositiveRoots(n);

i10 : PhiminusIndices = select(#B, i -> i >=n and not member(B_i,so2nRaisingOperators));

i11 : sB = spinBasis(n,QQ);

i12 : Bstar = so2nDualBasis(n);

i13 : BstarPerm = flatten apply(#Bstar, i -> flatten select(#B, j -> Bstar_i == 1/(4*(n-1))*B_j));

i14 : splusBDense = apply(sB, M -> M_(apply(2^(n-1), i -> i))^(apply(2^(n-1), i -> i)));

i15 : splusB = apply(splusBDense, M -> sparseRep(M));

i16 : EWB = evenWedgeBasis(n);

i17 : k=7;

i18 : snk = sort subsets(apply(2^(n-1), i -> i),k);

i19 : ZtoW = new HashTable from apply(#snk, i -> {i,snk_i});

i20 : WtoZ = new HashTable from apply(#snk, i -> {snk_i,i});

i21 : ringSubscripts = apply(snk, s -> apply(s, i -> EWB_i));

i22 : R=QQ[apply(ringSubscripts, i -> yy_i),MonomialOrder=>Lex];

i23 : WedgekSplusBasis = apply(splusB, X -> XactionOnWedgek(X,k,ZtoW,WtoZ));

i24 : f1a = yy_{{1, 2}, {1, 4}, {1, 5}, {2, 4}, {1, 2, 3, 4}, {1, 2, 3, 5}, {1, 2, 4, 5}}

o24 = yy
        {{1, 2}, {1, 4}, {1, 5}, {2, 4}, {1, 2, 3, 4}, {1, 2, 3, 5}, {1, 2, 4, 5}}

o24 : R

i25 : f1b = yy_{{1, 3}, {1, 4}, {1, 5}, {3, 5}, {1, 2, 3, 4}, {1, 2, 3, 5}, {1, 3, 4, 5}}

o25 = yy
        {{1, 3}, {1, 4}, {1, 5}, {3, 5}, {1, 2, 3, 4}, {1, 2, 3, 5}, {1, 3, 4, 5}}

o25 : R

i26 : time B1 = apply(WedgekSplusBasis, M -> map(R,R,map(QQ^(#snk),QQ^(#snk),M)));
     -- used 5.88536 seconds

i27 : B2 = apply(BstarPerm, i -> B1_i);

i28 : EV1 = {81, 89, 93, 97, 101, 105, 107, 117};

i29 : time v1 = guidedReynoldsProjection(B1,B2,cs,f1a*f1b,EV1);
Projection for EV 81 complete
Projection for EV 89 complete
Projection for EV 93 complete
Projection for EV 97 complete
Projection for EV 101 complete
Projection for EV 105 complete
Projection for EV 107 complete
Projection for EV 117 complete
     -- used 12.0103 seconds

i30 : fn = openOut "Sym2 V1 highest weight vector for 5w1.m2";

i31 : Tv1 = terms v1;

i32 : for i from 0 to #Tv1-1 do (
      fn << concatenate(toString(Tv1_i),",") << endl
      )

i33 : close fn

o33 = Sym2 V1 highest weight vector for 5w1.m2

o33 : File

i34 : -- Now do Sym2V2
      f2a = yy_{{1, 2}, {1, 3}, {1, 4}, {1, 2, 3, 4}, {1, 2, 3, 5}, {1, 2, 4, 5}, {2, 3, 4, 5}}+yy_{{1, 2}, {1, 3}, {2, 4}, {1, 2, 3, 4}, {1, 2, 3, 5}, {1, 2, 4, 5}, {1, 3, 4, 5}}-yy_{{1, 2}, {1, 4}, {2, 3}, {1, 2, 3, 4}, {1, 2, 3, 5}, {1, 2, 4, 5}, {1, 3, 4, 5}};

i35 : f2b = yy_{{}, {1, 3}, {1, 4}, {1, 5}, {1, 2, 3, 5}, {1, 2, 4, 5}, {1, 3, 4, 5}}+yy_{{1, 2},{1, 3}, {1, 4}, {1, 5}, {3, 5}, {1, 2, 4, 5}, {1, 3, 4, 5}} - yy_{{1, 2}, {1, 3}, {1, 4},{1, 5}, {4, 5}, {1, 2, 3, 5}, {1, 3, 4, 5}};

i36 : EV2={81, 89, 91, 99, 101, 105, 121};

i37 : time v2 = guidedReynoldsProjection(B1,B2,cs,f2a*f2b,EV2);
Projection for EV 81 complete
Projection for EV 89 complete
Projection for EV 91 complete
Projection for EV 99 complete
Projection for EV 101 complete
Projection for EV 105 complete
Projection for EV 121 complete
     -- used 12.4576 seconds

i38 : fn = openOut "Sym2 V2 highest weight vector for 5w1.m2";

i39 : Tv2 = terms v2;

i40 : for i from 0 to #Tv2-1 do (
      fn << concatenate(toString(Tv2_i),",") << endl
      )

i41 : close fn

o41 = Sym2 V2 highest weight vector for 5w1.m2

o41 : File