Fordham
    University

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

Code 6.9: Computing the invariant \( F_{5 \omega_1}\)

We continue the session that was begun in Code 6.7.

First, we compute the action of the Casimir operator on the basis of \( (V(5 \omega_1) \otimes V(5\omega_1) )^{T} \) that we computed previously.

i92 : -- These indices are with respect to MyBasis1 and MyBasis2
      -- These words are the same for MyBasis1 and MyBasis2
      -- and they are saved in MyBasisWords.m2
      cas1 = casimirScalar(irreducibleLieAlgebraModule(lambda1,so2n));

i93 : cas2 = cas1;

i94 : -- This is for one expression {Xf,X*g}
      writeProductInTensorBasis = (L) -> (
          Xf:=L_0_0;
          Xstarg:=L_0_1;
          c:=L_1;
          L1:=writeInMyBasis1(Xf);
          L2:=writeInMyBasis2(Xstarg);
          flatten apply(L1, p1 -> apply(L2, p2 -> {{p1_0,p2_0},c*(p1_1)*(p2_1)}))
      );

i95 : -- Simplify a list of things in the tensor basis
      simplifyListOfTensorPairs = (L) -> (
          K:=unique apply(L, i -> first i);  
          kpairs:={};
          answer:=for k in K list (
      	kpairs:=select(L, i -> i_0==k);
              {k,sum apply(kpairs, p -> p_1)}
          );
          return answer
      );

i96 : csOnPair = (p) -> (
          f:=MyBasis1#(p_0);
          g:=MyBasis2#(p_1);
          Xf:=0;
          Xstarg:=0;
          answer = { {p,(cas1+cas2)} };
          for i from 0 to #B11-1 do (
      	Xf = actOnPolynomial(B11_i,f);
      	if Xf==0 then continue;
      	Xstarg = actOnPolynomial(B22_i,g);
      	if Xstarg == 0 then continue;
      	answer = join(answer,writeProductInTensorBasis({{Xf,Xstarg},2}));
          );
          return new HashTable from simplifyListOfTensorPairs(answer)
      );

i97 : time csM = apply(Wt0TensorBasis, p -> csOnPair(p));
     -- used 6.02941 seconds

i98 : M = transpose apply(csM, h -> apply(Wt0TensorBasis, j -> if h#?j then h#j else 0));

i99 : fn = openOut "csM for V5w1otimesself.m2";

i100 : for i in M do (
           fn << toString(i) << "," << endl
       );

i101 : close fn

o101 = csM for V5w1otimesself.m2

o101 : File
Next, in Magma we compute the decomposition into irreducibles of \( V(5\omega_1 ) \otimes V(5\omega_1) \).
Magma V2.27-8     Sun Apr 16 2023 16:20:01 on MAC-M26AQ05N [Seed = 645798677]

+-------------------------------------------------------------------+
|       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");
> D:=LieRepresentationDecomposition(R,[[5,0,0,0,0]],[1]);
> D2:=TensorProduct(D,D);
> Wts,Mults:=WeightsAndMultiplicities(D2);
> Wts;
[
    (4 1 0 0 0),
    (6 2 0 0 0),
    (0 4 0 0 0),
    (8 0 0 0 0),
    (8 1 0 0 0),
    (0 3 0 0 0),
    (4 2 0 0 0),
    (2 4 0 0 0),
    (0 0 0 0 0),
    (2 1 0 0 0),
    (4 0 0 0 0),
    (0 2 0 0 0),
    (2 2 0 0 0),
    (2 3 0 0 0),
    (0 5 0 0 0),
    (4 3 0 0 0),
    (6 1 0 0 0),
    (6 0 0 0 0),
    (10  0  0  0  0),
    (0 1 0 0 0),
    (2 0 0 0 0)
]
> Mults;
[ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ]
This allows us to compute the eigenvalues of the Casimir operator on \( (V(5 \omega_1) \otimes V(5\omega_1) )^{T} \).
i102 : -- Instead of doing 
       -- transpose gens ker matrix M
       -- (can M2 or some other software do this?)
       -- find a vector in the kernel iteratively
       IrrepsOfVotimesV = {{4, 1, 0, 0, 0}, {6, 2, 0, 0, 0}, {0, 4, 0, 0, 0}, {8, 0, 0, 0, 0}, {8, 1, 0, 0, 0}, {0, 3, 0, 0, 0}, {4, 2, 0, 0, 0}, {2, 4, 0, 0, 0}, {0, 0, 0, 0, 0}, {2, 1, 0, 0, 0}, {4, 0, 0, 0, 0}, {0, 2, 0, 0, 0}, {2, 2, 0, 0, 0}, {2, 3, 0, 0, 0}, {0, 5, 0, 0, 0}, {4, 3, 0, 0, 0}, {6, 1, 0, 0, 0}, {6, 0, 0, 0, 0}, {10, 0, 0, 0, 0}, {0, 1, 0, 0, 0}, {2, 0, 0, 0, 0}};

i103 : so10 = simpleLieAlgebra("D",5);

i104 : cs = v -> casimirScalar(irreducibleLieAlgebraModule(v,so10));

i105 : sort unique apply(IrrepsOfVotimesV, v -> cs(v))

o105 = {0, 16, 20, 36, 40, 48, 60, 64, 72, 84, 88, 92, 100, 112, 120, 124, 128, 132, 144, 160, 180}

o105 : List

i106 : EV = {16, 20, 36, 40, 48, 60, 64, 72, 84, 88, 92, 100, 112, 120, 124, 128, 132, 144, 160, 180}

o106 = {16, 20, 36, 40, 48, 60, 64, 72, 84, 88, 92, 100, 112, 120, 124, 128, 132, 144, 160, 180}

o106 : List
Finally, we obtain the invariant \(F_{5 \omega_1} \) by starting with the first basis vector and iteratively projecting away the eigenspaces of \( (V(5 \omega_1) \otimes V(5\omega_1) )^{T}\) corresponding to nonzero eigenvalues.
    
i107 : scale = (v) -> (
           g:=gcd(flatten entries v);
           if g==0 then return v else return 1/g*v
       );

i108 : guidedProjection = (M,v0,EV) -> (
           v:=v0;
           h:=0;
           for i from 0 to #EV-1 do (
               h=M*v;
       	if h==0 then break;
       	v = scale(h - EV_i*v);
           );
           return v   
       );

i109 : M = matrix M;

                4722        4722
o109 : Matrix QQ     <--- QQ

i110 : i=0;

i111 : vi = transpose matrix {apply(numRows M, j -> if j==i then 1/1 else 0/1)};   

                4722        1
o111 : Matrix QQ     <--- QQ

i112 : time Rvi = guidedProjection(M,vi,EV);    
     -- used 0.28741 seconds

                4722        1
o112 : Matrix QQ     <--- QQ

i113 : Rvi == 0

o113 = false

i114 : #select(numRows Rvi,i-> Rvi_(i,0)!=0)

o114 = 4722

i115 : #keys(tally flatten entries Rvi)

o115 = 52

i116 : -- Save output: 
       fn = openOut "V5w1otimesself invariant.m2";

i117 : F5w1 = flatten entries Rvi;

i118 : fn << toString(F5w1) << endl;

i119 : close fn;
Here are the output files csM for V5w1otimesself.m2.txt and V5w1otimesself invariant.m2.txt from this session.