![]() |
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)\).
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}};
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.
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