This file belongs with http://www.math.uu.nl/people/vdkallen/Donkinpairs.html If you get here another way, then I wonder what you are looking for. Maybe a program to check linkage under the affine Weyl group? If you implement more Dynkin types, do let me know. Wilberd van der Kallen ---------------------------------------------------- Mathematica input for F4-E6 ---------------------------------------------------- m=Table[a[i,j],{i,4},{j,8}] d = {0, 0, 0, 0, 0, -1, -1, 1} (* E6 roots *) a1 = (1*{1, -1, -1, -1, -1, -1, -1, 1})/2 a2 = {1,1,0,0,0,0,0,0} a3 = {-1,1,0,0,0,0,0,0} a4 = {0,-1,1,0,0,0,0,0} a5 = {0,0,-1,1,0,0,0,0} a6 = {0,0,0,-1,1,0,0,0} (* fundamental weights of E6 *) oe1 = (2*d)/3 oe2 = (1*{1, 1, 1, 1, 1, -1, -1, 1})/2 oe3 = (5*d)/6 + (1*{-1, 1, 1, 1, 1, 0, 0, 0})/2 oe4 = {0, 0, 1, 1, 1, -1, -1, 1} oe5 = (2*d)/3 + {0, 0, 0, 1, 1, 0, 0, 0} oe6 = (1*d)/3 + {0, 0, 0, 0, 1, 0, 0, 0} (* fundamental weights of F4 *) of1= {1, 1, 0, 0} of2= {2, 1, 1, 0} of3= {3/2, 1/2, 1/2, 1/2} of4= {1, 0, 0, 0} oe1-a1 (* projection from E6 to F4 *) m=m/.Solve[ m . oe1 == of4 && m . oe2 == of1 && m . oe3 == of3 && m . oe4 == of2 && m . oe5 == of3 && m . oe6 == of4 && m.{0,0,0,0,0,1,0,0}=={0,0,0,0} && m.{0,0,0,0,0,0,1,0}=={0,0,0,0} ]//First m//MatrixForm//TeXForm m.{-1/2, 1/2, 1/2, -1/2, -1/2, -1/6, -1/6, 1/6} m.{1/2, -1/2, -1/2, 1/2, -1/2, -1/6, -1/6, 1/6} (m.#&)/@ {{-1/2, -1/2, -1/2, -1/2, -1/2, -1/6, -1/6, 1/6}, {-1/2, -1/2, -1/2, 1/2, 1/2, -1/6, -1/6, 1/6}, {-1/2, -1/2, 1/2, -1/2, 1/2, -1/6, -1/6, 1/6}, {-1/2, -1/2, 1/2, 1/2, -1/2, -1/6, -1/6, 1/6}, {-1/2, 1/2, -1/2, -1/2, 1/2, -1/6, -1/6, 1/6}, {-1/2, 1/2, -1/2, 1/2, -1/2, -1/6, -1/6, 1/6}, {-1/2, 1/2, 1/2, -1/2, -1/2, -1/6, -1/6, 1/6}, {-1/2, 1/2, 1/2, 1/2, 1/2, -1/6, -1/6, 1/6}, {1/2, -1/2, -1/2, -1/2, 1/2, -1/6, -1/6, 1/6}, {1/2, -1/2, -1/2, 1/2, -1/2, -1/6, -1/6, 1/6}, {1/2, -1/2, 1/2, -1/2, -1/2, -1/6, -1/6, 1/6}, {1/2, -1/2, 1/2, 1/2, 1/2, -1/6, -1/6, 1/6}, {1/2, 1/2, -1/2, -1/2, -1/2, -1/6, -1/6, 1/6}, {1/2, 1/2, -1/2, 1/2, 1/2, -1/6, -1/6, 1/6}, {1/2, 1/2, 1/2, -1/2, 1/2, -1/6, -1/6, 1/6}, {1/2, 1/2, 1/2, 1/2, -1/2, -1/6, -1/6, 1/6}} z1={-1/2, 1/2, 1/2, -1/2, -1/2, -1/6, -1/6, 1/6} z2={1/2, -1/2, -1/2, 1/2, -1/2, -1/6, -1/6, 1/6} z3=-1/3d+{0,0,0,0,1,0,0,0} targets = {a1+z1,a1+z2,a1+z3,a6+z1,a6+z2,a6+z3,a3+z1,a3+z2,a3+z3,a5+z1,a5+z2,a5+z3} length[v_]:=v.v length/@targets shorttargets={a1+z3,a6+z2,a3+z2,a5+z1} a1+z3==a6+z2 a3+z2==a5+z1 z4=a6+z2 z5=a3+z2 (* z1, z2, z3 are perpendicular to (a1+a6), (a3+a5), a2, a4 *) ---------------------------------------------------- Mathematica input for canonical splittings ---------------------------------------------------- (* canonical splittings on products of Demazure varieties for SL3 *) (* in characteristic 2 *) scalarq[x_?NumberQ]:=True scalarq[x_?scalarq^y_?scalarq]:=True scalarq[x_?scalarq y_?scalarq]:=True scalarq[x_?scalarq + y_?scalarq]:=True SetAttributes[tensor,{Flat, OneIdentity, Protected}] Unprotect[tensor] Format[tensor[m_,d_]]= SequenceForm[m," # ",d] (x_+y_)~tensor~z_ := x~tensor~z + y~tensor~z x_~tensor~(y_ + z_) := x~tensor~y + x~tensor~z (x_ z_?scalarq) ~tensor~ y_ := z x~tensor~y x_ ~tensor~ (y_ z_?scalarq) := z x~tensor~y 0~tensor~y_ := 0 x_ ~tensor~ 0 := 0 Protect[tensor] (* weights of coordinate functions on the two fundamental representations *) wt[x]={1,0};wt[y]={0,1};wt[z]=-wt[x]-wt[y]; wt[u]=-wt[z];wt[v]=-wt[y];wt[w]=-wt[x]; wt[a_ b_]=wt[a]+wt[b]; wt[a_^i_]=i wt[a]; wt[tensor[a_,b_]]=wt[a]+wt[b]; wt[tensor[a_,b__]]=wt[a]+wt[tensor[b]]; wt[a_?scalarq]={0,0} (* divided powers of one root operator *) P[r_][(a_) + (b_)] = P[r][a] + P[r][b] P[0][a_] = a P[r_][z_?scalarq tensor[b__]] := z P[r][tensor[b]] P[r_][tensor[a_, b_]] = Sum[tensor[P[i][a], P[r - i][b]], {i, 0, r}] P[r_][tensor[a_, b__]] = Sum[tensor[P[i][a], P[r - i][tensor[b]]], {i, 0, r}] P[r_][f_]:=P[r][f]=y^r/(r!)D[f,{x,r}]+(-1)^r w^r/(r!)D[f,{v,r}] (* divided powers of other root operator *) Q[r_][(a_) + (b_)] = Q[r][a] + Q[r][b] Q[0][a_] = a Q[r_][z_?scalarq tensor[b__]] := z Q[r][tensor[b]] Q[r_][tensor[a_, b_]] = Sum[tensor[Q[i][a], Q[r - i][b]], {i, 0, r}] Q[r_][tensor[a_, b__]] = Sum[tensor[Q[i][a], Q[r - i][tensor[b]]], {i, 0, r}] Q[r_][f_]:=Q[r][f]=z^r/(r!)D[f,{y,r}]+(-1)^r v^r/(r!)D[f,{u,r}] (* B module of sections of anticanonical bundle on one Demazure variety *) t=Table[x^i y^j z^(3-i-j),{i,0,2},{j,0,3-i}]//Flatten (* B module of sections of anticanonical bundle on other Demazure variety *) ttr=Table[u^i v^j w^(3-i-j),{i,0,2},{j,0,3-i}]//Flatten (* big tensor product *) (* ttt=Table[t[[i]]~tensor~t[[j]]~tensor~ttr[[k]]~tensor~ttr[[l]], {i,9},{j,9},{k,9},{l,9}]//Flatten; *) ttt=Table[t[[i]]~tensor~t[[j]]~tensor~t[[k]]~tensor~t[[l]], {i,9},{j,9},{k,9},{l,9}]//Flatten; lttt=Length[ttt] (* the weight zero part *) tttz=Part[ttt,Flatten[Position[Map[wt,ttt],{0,0}]]]; ltttz=Length[tttz] (* Set up the equations *) ans=Map[P[2],tttz,{1}]//Expand; matp2=Table[Coefficient[ans,ttt[[i]]],{i,lttt}]//Union; Length[matp2] ans=Map[Q[2],tttz,{1}]//Expand; matq2=Table[Coefficient[ans,ttt[[i]]],{i,lttt}]//Union; Length[matq2] ans=Map[P[3],tttz,{1}]//Expand; matp3=Table[Coefficient[ans,ttt[[i]]],{i,lttt}]//Union; Length[matp3] ans=Map[Q[3],tttz,{1}]//Expand; matq3=Table[Coefficient[ans,ttt[[i]]],{i,lttt}]//Union; Length[matq3] ans=Map[P[4],tttz,{1}]//Expand; matp4=Table[Coefficient[ans,ttt[[i]]],{i,lttt}]//Union; Length[matp4] ans=. mattot=LatticeReduce[Join[matp2,matq2,matp3,matq3,matp4]]; Length[mattot] ker=NullSpace[mattot,Modulus->2] Length[ker] (* This already clinches it. The remaining code is for variations and checks *) mattot=LatticeReduce[Join[matp2,matq2,matp3,matq3]]; Length[mattot] ker=NullSpace[mattot,Modulus->2].tttz; Length[ker] (* Look for splittings in the part that satisfies the equations *) pos=Position[ker, tensor[x*y*z, x*y*z,___]] (* cand=Position[ker,(x y z)~tensor~(x y z)~tensor~(u v w)~tensor~(u v w)][[1,1]] *) (* {Table[Map[P[i],ker[[cand]]],{i,2,12}], Table[Map[Q[i],ker[[cand]]],{i,2,12}]}/.{n_?EvenQ a_->0,n_?OddQ a_->a} *) take[{a__}] := ker[[a]] Map[take,pos] ---------------------------------------------------- Mathematica file linkage.m ---------------------------------------------------- (* characteristic p. representatives of orbits of dot action of the affine Weyl group *) (* This is definitely not a package. It is full of global variables: a alpha getxin numposrts om settype a0 a$ givelinkage numrts p simpleroots a1 b hat oe1 posroots sp a2 below i oe2 prime tmp a3 b$ l1 oe3 rank tmp$ a4 c l2 oe4 resmat try a5 complement list oe5 rho try$ a6 coroots lowerp oe6 roots type a7 d lowestrep oe7 s v a8 fundwts m oe8 sequence x2wt *) hat::usage:="If alpha is a root, hat[alpha] is the coroot." hat[a_]:=2a/(a.a) s::usage:="s[alpha][v] is the reflection of v in the hyperplane defined by alpha, under the undot action." s[a_][v_]:=v-2(a.v)/(a.a)a s[a_][{b__List}]:=s[a]/@{b} s[a_,b__][v_]:=s[a][s[b][v]] settype::usage:="settype[F4] makes the root system of type F4" settype[F4]:=(type="F4"; (* F4 simple roots and maximal root *) ; a1 = {0,1,-1,0} ; a2 = {0,0,1,-1} ; a3 = {0,0,0,1} ; a4 = {1,-1,-1,-1}/2 ; a0 = {1,1,0,0} ; (* fundamental weights of F4 *) ; oe1 = a0 ; oe2 = {2, 1, 1,0} ; oe3 = ({3, 1, 1, 1})/2 ; oe4 = {1,0,0,0} ; simpleroots={a1,a2,a3,a4}; ; fundwts={oe1,oe2,oe3,oe4}; ; initializeType ) settype[E6]:=(type="E6"; (* E6 simple roots and maximal root *) ; d = {0, 0, 0, 0, 0, -1, -1, 1} ; a1 = (1*{1, -1, -1, -1, -1, -1, -1, 1})/2 ; a2 = {1,1,0,0,0,0,0,0} ; a3 = {-1,1,0,0,0,0,0,0} ; a4 = {0,-1,1,0,0,0,0,0} ; a5 = {0,0,-1,1,0,0,0,0} ; a6 = {0,0,0,-1,1,0,0,0} ; a0= {1,1,1,1,1,-1,-1,1}/2 ; (* fundamental weights of E6 *) ; oe1 = (2*d)/3 ; oe2 = (1*{1, 1, 1, 1, 1, -1, -1, 1})/2 ; oe3 = (5*d)/6 + (1*{-1, 1, 1, 1, 1, 0, 0, 0})/2 ; oe4 = {0, 0, 1, 1, 1, -1, -1, 1} ; oe5 = (2*d)/3 + {0, 0, 0, 1, 1, 0, 0, 0} ; oe6 = (1*d)/3 + {0, 0, 0, 0, 1, 0, 0, 0} ; simpleroots={a1,a2,a3,a4,a5,a6}; ; fundwts={oe1,oe2,oe3,oe4,oe5,oe6}; ; initializeType ) settype[E7]:=(type="E7"; (* E7 simple roots and maximal root *) ; a1 = (1*{1, -1, -1, -1, -1, -1, -1, 1})/2 ; a2 = {1,1,0,0,0,0,0,0} ; a3 = {-1,1,0,0,0,0,0,0} ; a4 = {0,-1,1,0,0,0,0,0} ; a5 = {0,0,-1,1,0,0,0,0} ; a6 = {0,0,0,-1,1,0,0,0} ; a7 = {0,0,0,0,-1,1,0,0} ; a0 = {0,0,0,0,0,0,-1,1} ; (* fundamental weights of E7 *) ; oe1 = a0 ; oe2 = (1*{1, 1, 1, 1, 1, 1, -2, 2})/2 ; oe3 = (1*{-1, 1, 1, 1, 1, 1, -3, 3})/2 ; oe4 = {0, 0, 1, 1, 1, 1, -2, 2} ; oe5 = {0, 0, 0, 2, 2, 2, -3, 3}/2 ; oe6 = {0, 0, 0, 0, 1, 1, -1, 1} ; oe7 = {0, 0, 0, 0, 0, 1, -1/2, 1/2} ; simpleroots={a1,a2,a3,a4,a5,a6,a7}; ; fundwts={oe1,oe2,oe3,oe4,oe5,oe6,oe7}; ; initializeType ) settype[E8]:=(type="E8"; (* E8 simple roots and maximal root *) ; d = {0, 0, 0, 0, 0, -1, -1, 1} ; (* E8 roots *) ; a1 = (1*{1, -1, -1, -1, -1, -1, -1, 1})/2 ; a2 = {1,1,0,0,0,0,0,0} ; a3 = {-1,1,0,0,0,0,0,0} ; a4 = {0,-1,1,0,0,0,0,0} ; a5 = {0,0,-1,1,0,0,0,0} ; a6 = {0,0,0,-1,1,0,0,0} ; a7 = {0,0,0,0,-1,1,0,0} ; a8 = {0,0,0,0,0,-1,1,0} ; a0 = {0, 0, 0, 0, 0, 0, 1, 1} ; (* fundamental weights of E8 *) ; oe1 = {0, 0, 0, 0, 0, 0, 0, 2} ; oe2 = (1*{1, 1, 1, 1, 1, 1, 1, 5})/2 ; oe3 = (1*{-1, 1, 1, 1, 1, 1, 1, 7})/2 ; oe4 = {0, 0, 1, 1, 1, 1, 1, 5} ; oe5 = {0, 0, 0, 1, 1, 1, 1, 4} ; oe6 = {0, 0, 0, 0, 1, 1, 1, 3} ; oe7 = {0, 0, 0, 0, 0, 1, 1, 2} ; oe8 = {0, 0, 0, 0, 0, 0, 1, 1} ; simpleroots={a1,a2,a3,a4,a5,a6,a7,a8}; ; fundwts={oe1,oe2,oe3,oe4,oe5,oe6,oe7,oe8}; ; initializeType ) settype[other_]:=Print[other," not yet implemented"] initializeType:=( rank=Length[fundwts]; ; If[fundwts.Transpose[hat/@simpleroots]=!=IdentityMatrix[rank],Print[$Failed]] ; rho=Sum[fundwts[[i]],{i,rank}]; ; numrts=0; roots=simpleroots; ; While[numrts != Length[roots], numrts= Length[roots]; Do[alpha=simpleroots[[i]];roots=Union[roots,s[alpha][roots]],{i,rank}] ] ; Print["number of roots of ",type," = ",Length[roots]] ; posroots=Part[roots,Flatten[Position[roots.rho,_?Positive]]]; ; numposrts=Length[posroots] ; If[2rho=!=Sum[posroots[[i]],{i,numposrts}],Print[$Failed]] ) dominantQ::usage:="dominantQ[omega] is True if omega is dominant." dominantQ[om_]:=And@@(Table[simpleroots[[i]].om>=0,{i,rank}]) (* reflection into strictly lower wall *) sp::usage:="If alpha is a positive root then sp[alpha][v] is the dot action reflection of v in the alpha wall strictly below v." sp[a_][v_]:=Module[{tmp},v-((tmp=2(a.(v+rho)/(a.a)))-p Floor[(tmp-1)/p])a] (* in bottom alcove *) lowestQ::usage:="lowestQ[omega] is True if omega lies in the bottom alcove for the dot action." lowestQ[v_]:=dominantQ[v+rho]&&2(rho+v).a0/(a0.a0)<=p lowerp::usage:="lowerp[alpha,v] is sp[alpha][v] if that is in the dot-action-dominant chamber, and v otherwise." lowerp[a_,v_]:=Module[{tmp},If[dominantQ[rho+(tmp=sp[a][v])],tmp,v]] lowestrep::usage:="If lambda+rho is dominant, then lowestrep[lambda] is the representative of lambda in the bottom alcove for the dot action." lowestrep[v_]:=Module[{tmp,try}, tmp=-rho;try=v;While[tmp!=try,tmp=try; Do[try=lowerp[posroots[[i]],try],{i,numposrts}]]; If[lowestQ[try],try,Print["error in lowestrep"];$Failed]] givelinkage::usage:="givelinkage[lambda,mu] tells if lambda and mu are in the same orbit under the dot action, for some small primes. One may give the weights in LiE notation X[coeffs]." givelinkage[a___, X[b__], c___] := givelinkage[a, x2wt[X[b]], c] givelinkage[l1_,l2_]:=Do[p=Prime[i]; Print["p=",p];If[lowestQ[l1]&&lowestQ[l2],Print["bottom alcove"]]; If[lowestrep[l1]==lowestrep[l2],Print["same class"],Print["different class"]]; ,{i,15}] givelinkage[l1_,l2_,prime_]:=(p=prime;Print["p=",p]; If[lowestQ[l1]&&lowestQ[l2],Print["bottom alcove"]]; If[lowestrep[l1]==lowestrep[l2],Print["same class"], Print["different class"]];); x2wt::usage:="converts weights from LiE notation X[coeffs] to List notation." x2wt[X[a__]]:=List[a].fundwts getxin::usage:="extracts the X[coeffs] from a character in LiE notation." getxin[LiEexp_]:=LiEexp/.a_*X[b__]->X[b]/.Plus->List//Sort complement::usage:="complement[characterOfM,characterOfWeylmodule] looks for the weights that occur in the first character, but not in the second." complement[a_,b_]:=Complement[getxin[a],getxin[b]] below::usage:="below[weight1,weight2] looks if weight2-weight1 is in the cone spanned by the positive roots." below[X[a__],X[b__]]:=below[x2wt[X[a]],x2wt[X[b]]] below[a___,X[b__],c___]:=below[a,x2wt[X[b]],c] below[a_,b_]:=And@@(Table[fundwts[[i]].(b-a)>=0,{i,rank}]) resmat::usage:="resmat[coroots] gives the restriction matrix in LiE notation for the subsystem given by the coroots." resmat[coroots__]:=fundwts.Transpose[{coroots}]/.List->list Format[sequence[a_]] := ToString[a] Format[sequence[a_, b__]] := StringJoin[ToString[a], ",", ToString[sequence[b]]] Format[list[m__]] := StringJoin["[", ToString[sequence[m]], "]\n"] (* settype[E8];resmat[a1, a2, a3, a4, a5, a6, a7, a0] *) simpleEven[i_]:=Sort[({#.rho,#}&)/@ (posroots[[Flatten[ Position[posroots.fundwts[[i]],2simpleroots[[i]].fundwts[[i]]]]]])][[1,2]] simpleEven::usage:="If the highest root has i-th coefficient 2, then simpleEven[i] gives the minimal positive root that has coefficient 2 there. This root occurs as simple root in the fixed points of the involution which acts as inverse on the i-th root group." ---------------------------------------------------- logfile of checks of steps in proof for Donkin pairs ---------------------------------------------------- Logfile concerning Donkin pairs. Mixture of input-output in Mathematica, LiE, Lauritzen's sum formula applet, and text. Mathematica 3.0 for Solaris Copyright 1988-97 Wolfram Research, Inc. -- Motif graphics initialized -- In[1]:= < resmatd=[[2,0,0,0,0,0,0,0] \ ,[2,0,0,0,0,0,0,1] \ ,[3,0,0,0,0,0,1,0] \ ,[4,0,0,0,0,1,0,0] \ ,[3,0,0,0,1,0,0,0] \ ,[2,0,0,1,0,0,0,0] \ ,[1,0,1,0,0,0,0,0] \ ,[0,1,0,0,0,0,0,0] \ ] Subsystem of type E7A1 In[10]:= aea=simpleEven[8] Out[10]= {0, 0, 0, 0, 0, 0, 1, 1} In[11]:= {a1,a2,a3,a4,a5,a6,a7,aea}. Transpose[{a1,a2,a3,a4,a5,a6,a7,aea}]//MatrixForm Out[11]//MatrixForm= 2 0 -1 0 0 0 0 0 0 2 0 -1 0 0 0 0 -1 0 2 -1 0 0 0 0 0 -1 -1 2 -1 0 0 0 0 0 0 -1 2 -1 0 0 0 0 0 0 -1 2 -1 0 0 0 0 0 0 -1 2 0 0 0 0 0 0 0 0 2 In[13]:= resmatae=resmat[a1,a2,a3,a4,a5,a6,a7,aea] Out[13]= [[1,0,0,0,0,0,0,2] ,[0,1,0,0,0,0,0,3] ,[0,0,1,0,0,0,0,4] ,[0,0,0,1,0,0,0,6] ,[0,0,0,0,1,0,0,5] ,[0,0,0,0,0,1,0,4] ,[0,0,0,0,0,0,1,3] ,[0,0,0,0,0,0,0,2] ] > resmatae=[[1,0,0,0,0,0,0,2] \ ,[0,1,0,0,0,0,0,3] \ ,[0,0,1,0,0,0,0,4] \ ,[0,0,0,1,0,0,0,6] \ ,[0,0,0,0,1,0,0,5] \ ,[0,0,0,0,0,1,0,4] \ ,[0,0,0,0,0,0,1,3] \ ,[0,0,0,0,0,0,0,2] \ ] In[14]:= {below[oe8,oe1],below[oe1,oe7],below[oe7,oe2], below[oe2,oe6],below[oe6,oe3], below[oe3,oe5],below[oe5,oe4]} Out[14]= {True, True, True, True, True, True, True} So oe8 < oe1 < oe7 < oe2 < oe6 < oe3 < oe5 < oe4 > oe1=X[1,0,0,0,0,0,0,0] > oe2=X[0,1,0,0,0,0,0,0] > oe3=X[0,0,1,0,0,0,0,0] > oe4=X[0,0,0,1,0,0,0,0] > oe5=X[0,0,0,0,1,0,0,0] > oe6=X[0,0,0,0,0,1,0,0] > oe7=X[0,0,0,0,0,0,1,0] > oe8=X[0,0,0,0,0,0,0,1] > branch(oe8,D8,resmatd,E8) 1X[0,0,0,0,0,0,0,1] +1X[0,1,0,0,0,0,0,0] http://www.imf.au.dk/~niels/dynkin.html We take the primes from 3 to 29 in the applet, even though we know the weight is in the bottom alcove long before 29. [Jantzen sum formula](D8,3,0 0 0 0 0 0 0 1) =>0 [Jantzen sum formula](D8,5,0 0 0 0 0 0 0 1) =>0 [Jantzen sum formula](D8,7,0 0 0 0 0 0 0 1) =>0 [Jantzen sum formula](D8,11,0 0 0 0 0 0 0 1) =>0 [Jantzen sum formula](D8,13,0 0 0 0 0 0 0 1) =>0 [Jantzen sum formula](D8,17,0 0 0 0 0 0 0 1) =>0 [Jantzen sum formula](D8,19,0 0 0 0 0 0 0 1) =>0 [Jantzen sum formula](D8,23,0 0 0 0 0 0 0 1) =>0 [Jantzen sum formula](D8,29,0 0 0 0 0 0 0 1) =>0 [Jantzen sum formula](D8,3,0 1 0 0 0 0 0 0) =>0 [Jantzen sum formula](D8,5,0 1 0 0 0 0 0 0) =>0 [Jantzen sum formula](D8,7,0 1 0 0 0 0 0 0) =>0 [Jantzen sum formula](D8,11,0 1 0 0 0 0 0 0) =>0 [Jantzen sum formula](D8,13,0 1 0 0 0 0 0 0) =>0 [Jantzen sum formula](D8,17,0 1 0 0 0 0 0 0) =>0 [Jantzen sum formula](D8,19,0 1 0 0 0 0 0 0) =>0 [Jantzen sum formula](D8,23,0 1 0 0 0 0 0 0) =>0 [Jantzen sum formula](D8,29,0 1 0 0 0 0 0 0) =>0 > branch(oe8,E7A1,resmatae,E8) 1X[0,0,0,0,0,0,0,2] +1X[0,0,0,0,0,0,1,1] +1X[1,0,0,0,0,0,0,0] X[2] is Steinberg module for p=3. [Jantzen sum formula](E7,3,0 0 0 0 0 0 1) =>0 [Jantzen sum formula](E7,5,0 0 0 0 0 0 1) =>0 [Jantzen sum formula](E7,7,0 0 0 0 0 0 1) =>0 [Jantzen sum formula](E7,11,0 0 0 0 0 0 1) =>0 [Jantzen sum formula](E7,13,0 0 0 0 0 0 1) =>0 [Jantzen sum formula](E7,17,0 0 0 0 0 0 1) =>0 [Jantzen sum formula](E7,19,0 0 0 0 0 0 1) =>0 [Jantzen sum formula](E7,23,0 0 0 0 0 0 1) =>0 [Jantzen sum formula](E7,29,0 0 0 0 0 0 1) =>0 [Jantzen sum formula](E7,3,1 0 0 0 0 0 0) =>0 [Jantzen sum formula](E7,5,1 0 0 0 0 0 0) =>0 [Jantzen sum formula](E7,7,1 0 0 0 0 0 0) =>0 [Jantzen sum formula](E7,11,1 0 0 0 0 0 0) =>0 [Jantzen sum formula](E7,13,1 0 0 0 0 0 0) =>0 [Jantzen sum formula](E7,17,1 0 0 0 0 0 0) =>0 [Jantzen sum formula](E7,19,1 0 0 0 0 0 0) =>0 [Jantzen sum formula](E7,23,1 0 0 0 0 0 0) =>0 [Jantzen sum formula](E7,29,1 0 0 0 0 0 0) =>0 > branch(oe1,D8,resmatd,E8) 1X[0,0,0,1,0,0,0,0] +1X[1,0,0,0,0,0,1,0] +1X[2,0,0,0,0,0,0,0] [Jantzen sum formula](D8,3,0 0 0 1 0 0 0 0) =>0 [Jantzen sum formula](D8,5,0 0 0 1 0 0 0 0) =>0 [Jantzen sum formula](D8,7,0 0 0 1 0 0 0 0) =>0 [Jantzen sum formula](D8,11,0 0 0 1 0 0 0 0) =>0 [Jantzen sum formula](D8,13,0 0 0 1 0 0 0 0) =>0 [Jantzen sum formula](D8,17,0 0 0 1 0 0 0 0) =>0 [Jantzen sum formula](D8,19,0 0 0 1 0 0 0 0) =>0 [Jantzen sum formula](D8,23,0 0 0 1 0 0 0 0) =>0 [Jantzen sum formula](D8,29,0 0 0 1 0 0 0 0) =>0 [Jantzen sum formula](D8,3,1 0 0 0 0 0 1 0) =>0 [Jantzen sum formula](D8,5,1 0 0 0 0 0 1 0) =>0 [Jantzen sum formula](D8,7,1 0 0 0 0 0 1 0) =>0 [Jantzen sum formula](D8,11,1 0 0 0 0 0 1 0) =>0 [Jantzen sum formula](D8,13,1 0 0 0 0 0 1 0) =>0 [Jantzen sum formula](D8,17,1 0 0 0 0 0 1 0) =>0 [Jantzen sum formula](D8,19,1 0 0 0 0 0 1 0) =>0 [Jantzen sum formula](D8,23,1 0 0 0 0 0 1 0) =>0 [Jantzen sum formula](D8,29,1 0 0 0 0 0 1 0) =>0 [Jantzen sum formula](D8,3,2 0 0 0 0 0 0 0) =>0 [Jantzen sum formula](D8,5,2 0 0 0 0 0 0 0) =>0 [Jantzen sum formula](D8,7,2 0 0 0 0 0 0 0) =>0 [Jantzen sum formula](D8,11,2 0 0 0 0 0 0 0) =>0 [Jantzen sum formula](D8,13,2 0 0 0 0 0 0 0) =>0 [Jantzen sum formula](D8,17,2 0 0 0 0 0 0 0) =>0 [Jantzen sum formula](D8,19,2 0 0 0 0 0 0 0) =>0 [Jantzen sum formula](D8,23,2 0 0 0 0 0 0 0) =>0 [Jantzen sum formula](D8,29,2 0 0 0 0 0 0 0) =>0 > branch(oe1,E7A1,resmatae,E8) 1X[0,0,0,0,0,0,0,0] +1X[0,0,0,0,0,0,1,1] +1X[0,0,0,0,0,1,0,0] + 1X[0,1,0,0,0,0,0,1] +1X[1,0,0,0,0,0,0,2] > tensor(oe1,oe8,E8) 1X[0,0,0,0,0,0,0,1] +1X[0,0,0,0,0,0,1,0] +1X[0,1,0,0,0,0,0,0] + 1X[1,0,0,0,0,0,0,0] +1X[1,0,0,0,0,0,0,1] > dom_char(oe2,E8) 370X[0,0,0,0,0,0,0,0] +111X[0,0,0,0,0,0,0,1] + 6X[0,0,0,0,0,0,1,0] + 1X[0,1,0,0,0,0,0,0] + 29X[1,0,0,0,0,0,0,0] In[21]:= complement[1X[0,0,0,0,0,0,0,1] +1X[0,0,0,0,0,0,1,0] +1X[0,1,0,0,0,0,0,0] + 1X[1,0,0,0,0,0,0,0] +1X[1,0,0,0,0,0,0,1],370X[0,0,0,0,0,0,0,0] +111X[0,0,0,0,0,0,0,1] + 6X[0,0,0,0,0,0,1,0] + 1X[0,1,0,0,0,0,0,0] + 29X[1,0,0,0,0,0,0,0]] Out[21]= {X[1, 0, 0, 0, 0, 0, 0, 1]} So X[1, 0, 0, 0, 0, 0, 0, 1] is the only one that occurs in tensor(oe1,oe8,E8) but does not come from a weight of the oe2 Weyl module. In[24]:= {below[oe1,oe2],below[oe8,oe2]} Out[24]= {True, True} In[23]:= givelinkage[oe2,X[1, 0, 0, 0, 0, 0, 0, 1]] p=2 same class p=3 different class p=5 different class p=7 different class p=11 different class p=13 different class p=17 different class p=19 different class p=23 different class p=29 different class p=31 different class p=37 bottom alcove different class p=41 bottom alcove different class p=43 bottom alcove different class p=47 bottom alcove different class In[25]:= below[oe8,oe7] Out[25]= True > alt_tensor(2,oe8,E8) 1X[0,0,0,0,0,0,0,1] +1X[0,0,0,0,0,0,1,0] > dom_char(oe7,E8) 140X[0,0,0,0,0,0,0,0] + 35X[0,0,0,0,0,0,0,1] + 1X[0,0,0,0,0,0,1,0] + 7X[1,0,0,0,0,0,0,0] In[26]:= complement[1X[0,0,0,0,0,0,0,1] +1X[0,0,0,0,0,0,1,0], 140X[0,0,0,0,0,0,0,0] + 35X[0,0,0,0,0,0,0,1] + 1X[0,0,0,0,0,0,1,0] + 7X[1,0,0,0,0,0,0,0]] Out[26]= {} which was obvious. In[27]:= below[oe1,oe3] Out[27]= True > alt_tensor(2,oe1,E8) 1X[0,0,0,0,0,0,0,1] +1X[0,0,0,0,0,0,1,0] +1X[0,0,1,0,0,0,0,0] + 1X[1,0,0,0,0,0,0,1] > dom_char(oe3,E8) 6000X[0,0,0,0,0,0,0,0] +2296X[0,0,0,0,0,0,0,1] + 77X[0,0,0,0,0,0,0,2] + 275X[0,0,0,0,0,0,1,0] + 5X[0,0,0,0,0,1,0,0] + 1X[0,0,1,0,0,0,0,0] + 84X[0,1,0,0,0,0,0,0] + 826X[1,0,0,0,0,0,0,0] + 22X[1,0,0,0,0,0,0,1] In[28]:= complement[1X[0,0,0,0,0,0,0,1] +1X[0,0,0,0,0,0,1,0] +1X[0,0,1,0,0,0,0,0] + 1X[1,0,0,0,0,0,0,1],6000X[0,0,0,0,0,0,0,0] +2296X[0,0,0,0,0,0,0,1] + 77X[0,0,0,0,0,0,0,2] + 275X[0,0,0,0,0,0,1,0] + 5X[0,0,0,0,0,1,0,0] + 1X[0,0,1,0,0,0,0,0] + 84X[0,1,0,0,0,0,0,0] + 826X[1,0,0,0,0,0,0,0] + 22X[1,0,0,0,0,0,0,1]] Out[28]= {} In[29]:= below[oe2,oe4] Out[29]= True > alt_tensor(2,oe2,E8) 1X[0,0,0,0,0,0,0,1] +1X[0,0,0,0,0,0,0,3] +2X[0,0,0,0,0,0,1,0] + 1X[0,0,0,0,0,0,1,1] +1X[0,0,0,0,0,1,0,1] +1X[0,0,0,1,0,0,0,0] + 2X[0,0,1,0,0,0,0,0] +1X[0,1,0,0,0,0,0,1] +1X[0,1,0,0,0,0,1,0] + 2X[1,0,0,0,0,0,0,1] +2X[1,0,0,0,0,0,1,0] +1X[1,1,0,0,0,0,0,0] + 1X[2,0,0,0,0,0,0,1] > dom_char(oe4,E8) 1357104X[0,0,0,0,0,0,0,0] + 688156X[0,0,0,0,0,0,0,1] + 78547X[0,0,0,0,0,0,0,2] + 980X[0,0,0,0,0,0,0,3] + 166170X[0,0,0,0,0,0,1,0] + 6941X[0,0,0,0,0,0,1,1] + 45X[0,0,0,0,0,0,2,0] + 16306X[0,0,0,0,0,1,0,0] + 145X[0,0,0,0,0,1,0,1] + 446X[0,0,0,0,1,0,0,0] + 1X[0,0,0,1,0,0,0,0] + 7084X[0,0,1,0,0,0,0,0] + 50X[0,0,1,0,0,0,0,1] + 78848X[0,1,0,0,0,0,0,0] + 2926X[0,1,0,0,0,0,0,1] + 15X[0,1,0,0,0,0,1,0] + 341950X[1,0,0,0,0,0,0,0] + 36371X[1,0,0,0,0,0,0,1] + 390X[1,0,0,0,0,0,0,2] + 1171X[1,0,0,0,0,0,1,0] + 4X[1,0,0,0,0,1,0,0] + 161X[1,1,0,0,0,0,0,0] + 2968X[2,0,0,0,0,0,0,0] + 15X[2,0,0,0,0,0,0,1] In[30]:= complement[1X[0,0,0,0,0,0,0,1] +1X[0,0,0,0,0,0,0,3] +2X[0,0,0,0,0,0,1,0] + 1X[0,0,0,0,0,0,1,1] +1X[0,0,0,0,0,1,0,1] +1X[0,0,0,1,0,0,0,0] + 2X[0,0,1,0,0,0,0,0] +1X[0,1,0,0,0,0,0,1] +1X[0,1,0,0,0,0,1,0] + 2X[1,0,0,0,0,0,0,1] +2X[1,0,0,0,0,0,1,0] +1X[1,1,0,0,0,0,0,0] + 1X[2,0,0,0,0,0,0,1],1357104X[0,0,0,0,0,0,0,0] + 688156X[0,0,0,0,0,0,0,1] + 78547X[0,0,0,0,0,0,0,2] + 980X[0,0,0,0,0,0,0,3] + 166170X[0,0,0,0,0,0,1,0] + 6941X[0,0,0,0,0,0,1,1] + 45X[0,0,0,0,0,0,2,0] + 16306X[0,0,0,0,0,1,0,0] + 145X[0,0,0,0,0,1,0,1] + 446X[0,0,0,0,1,0,0,0] + 1X[0,0,0,1,0,0,0,0] + 7084X[0,0,1,0,0,0,0,0] + 50X[0,0,1,0,0,0,0,1] + 78848X[0,1,0,0,0,0,0,0] + 2926X[0,1,0,0,0,0,0,1] + 15X[0,1,0,0,0,0,1,0] + 341950X[1,0,0,0,0,0,0,0] + 36371X[1,0,0,0,0,0,0,1] + 390X[1,0,0,0,0,0,0,2] + 1171X[1,0,0,0,0,0,1,0] + 4X[1,0,0,0,0,1,0,0] + 161X[1,1,0,0,0,0,0,0] + 2968X[2,0,0,0,0,0,0,0] + 15X[2,0,0,0,0,0,0,1]] Out[30]= {} In[31]:= {below[oe1,oe5],below[oe2,oe5]} Out[31]= {True, True} > tensor(oe1,oe2,E8) 1X[0,0,0,0,0,0,0,1] +1X[0,0,0,0,0,0,0,2] +1X[0,0,0,0,0,0,1,0] + 1X[0,0,0,0,0,0,1,1] +1X[0,0,0,0,0,1,0,0] +1X[0,0,0,0,1,0,0,0] + 1X[0,0,1,0,0,0,0,0] +1X[0,1,0,0,0,0,0,0] +1X[0,1,0,0,0,0,0,1] + 1X[1,0,0,0,0,0,0,0] +2X[1,0,0,0,0,0,0,1] +1X[1,0,0,0,0,0,1,0] + 1X[1,1,0,0,0,0,0,0] +1X[2,0,0,0,0,0,0,0] > dom_char(oe5,E8) 64470X[0,0,0,0,0,0,0,0] +28441X[0,0,0,0,0,0,0,1] + 1897X[0,0,0,0,0,0,0,2] + 4938X[0,0,0,0,0,0,1,0] + 71X[0,0,0,0,0,0,1,1] + 243X[0,0,0,0,0,1,0,0] + 1X[0,0,0,0,1,0,0,0] + 77X[0,0,1,0,0,0,0,0] + 1925X[0,1,0,0,0,0,0,0] + 21X[0,1,0,0,0,0,0,1] + 12103X[1,0,0,0,0,0,0,0] + 705X[1,0,0,0,0,0,0,1] + 5X[1,0,0,0,0,0,1,0] + 21X[2,0,0,0,0,0,0,0] In[32]:= complement[1X[0,0,0,0,0,0,0,1] +1X[0,0,0,0,0,0,0,2] +1X[0,0,0,0,0,0,1,0] + 1X[0,0,0,0,0,0,1,1] +1X[0,0,0,0,0,1,0,0] +1X[0,0,0,0,1,0,0,0] + 1X[0,0,1,0,0,0,0,0] +1X[0,1,0,0,0,0,0,0] +1X[0,1,0,0,0,0,0,1] + 1X[1,0,0,0,0,0,0,0] +2X[1,0,0,0,0,0,0,1] +1X[1,0,0,0,0,0,1,0] + 1X[1,1,0,0,0,0,0,0] +1X[2,0,0,0,0,0,0,0],64470X[0,0,0,0,0,0,0,0] +28441X[0,0,0,0,0,0,0,1] + 1897X[0,0,0,0,0,0,0,2] + 4938X[0,0,0,0,0,0,1,0] + 71X[0,0,0,0,0,0,1,1] + 243X[0,0,0,0,0,1,0,0] + 1X[0,0,0,0,1,0,0,0] + 77X[0,0,1,0,0,0,0,0] + 1925X[0,1,0,0,0,0,0,0] + 21X[0,1,0,0,0,0,0,1] + 12103X[1,0,0,0,0,0,0,0] + 705X[1,0,0,0,0,0,0,1] + 5X[1,0,0,0,0,0,1,0] + 21X[2,0,0,0,0,0,0,0]] Out[32]= {X[1, 1, 0, 0, 0, 0, 0, 0]} In[34]:= givelinkage[oe5,X[1, 1, 0, 0, 0, 0, 0, 0]] p=2 different class p=3 different class p=5 same class p=7 different class p=11 different class p=13 different class p=17 different class p=19 different class p=23 different class p=29 different class p=31 different class p=37 bottom alcove different class p=41 bottom alcove different class p=43 bottom alcove different class p=47 bottom alcove different class In[35]:= below[oe8,oe5] Out[35]= True > alt_tensor(4,oe8,E8) 1X[0,0,0,0,0,0,0,1] +1X[0,0,0,0,0,0,0,2] +1X[0,0,0,0,0,0,1,1] + 1X[0,0,0,0,0,1,0,0] +1X[0,0,0,0,1,0,0,0] +1X[0,1,0,0,0,0,0,0] + 1X[1,0,0,0,0,0,0,0] +1X[1,0,0,0,0,0,0,1] > dom_char(oe5,E8) 64470X[0,0,0,0,0,0,0,0] +28441X[0,0,0,0,0,0,0,1] + 1897X[0,0,0,0,0,0,0,2] + 4938X[0,0,0,0,0,0,1,0] + 71X[0,0,0,0,0,0,1,1] + 243X[0,0,0,0,0,1,0,0] + 1X[0,0,0,0,1,0,0,0] + 77X[0,0,1,0,0,0,0,0] + 1925X[0,1,0,0,0,0,0,0] + 21X[0,1,0,0,0,0,0,1] + 12103X[1,0,0,0,0,0,0,0] + 705X[1,0,0,0,0,0,0,1] + 5X[1,0,0,0,0,0,1,0] + 21X[2,0,0,0,0,0,0,0] In[36]:= complement[1X[0,0,0,0,0,0,0,1] +1X[0,0,0,0,0,0,0,2] +1X[0,0,0,0,0,0,1,1] + 1X[0,0,0,0,0,1,0,0] +1X[0,0,0,0,1,0,0,0] +1X[0,1,0,0,0,0,0,0] + 1X[1,0,0,0,0,0,0,0] +1X[1,0,0,0,0,0,0,1],64470X[0,0,0,0,0,0,0,0] +28441X[0,0,0,0,0,0,0,1] + 1897X[0,0,0,0,0,0,0,2] + 4938X[0,0,0,0,0,0,1,0] + 71X[0,0,0,0,0,0,1,1] + 243X[0,0,0,0,0,1,0,0] + 1X[0,0,0,0,1,0,0,0] + 77X[0,0,1,0,0,0,0,0] + 1925X[0,1,0,0,0,0,0,0] + 21X[0,1,0,0,0,0,0,1] + 12103X[1,0,0,0,0,0,0,0] + 705X[1,0,0,0,0,0,0,1] + 5X[1,0,0,0,0,0,1,0] + 21X[2,0,0,0,0,0,0,0]] Out[36]= {} In[37]:= below[oe1,oe6] Out[37]= True > tensor(oe1,oe1,E8) 1X[0,0,0,0,0,0,0,0] +1X[0,0,0,0,0,0,0,1] +1X[0,0,0,0,0,0,0,2] + 1X[0,0,0,0,0,0,1,0] +1X[0,0,0,0,0,1,0,0] +1X[0,0,1,0,0,0,0,0] + 1X[0,1,0,0,0,0,0,0] +1X[1,0,0,0,0,0,0,0] +1X[1,0,0,0,0,0,0,1] + 1X[2,0,0,0,0,0,0,0] > dom_char(oe6,E8) 2960X[0,0,0,0,0,0,0,0] +1056X[0,0,0,0,0,0,0,1] + 27X[0,0,0,0,0,0,0,2] + 105X[0,0,0,0,0,0,1,0] + 1X[0,0,0,0,0,1,0,0] + 28X[0,1,0,0,0,0,0,0] + 350X[1,0,0,0,0,0,0,0] + 6X[1,0,0,0,0,0,0,1] In[38]:= complement[1X[0,0,0,0,0,0,0,0] +1X[0,0,0,0,0,0,0,1] +1X[0,0,0,0,0,0,0,2] + 1X[0,0,0,0,0,0,1,0] +1X[0,0,0,0,0,1,0,0] +1X[0,0,1,0,0,0,0,0] + 1X[0,1,0,0,0,0,0,0] +1X[1,0,0,0,0,0,0,0] +1X[1,0,0,0,0,0,0,1] + 1X[2,0,0,0,0,0,0,0],2960X[0,0,0,0,0,0,0,0] +1056X[0,0,0,0,0,0,0,1] + 27X[0,0,0,0,0,0,0,2] + 105X[0,0,0,0,0,0,1,0] + 1X[0,0,0,0,0,1,0,0] + 28X[0,1,0,0,0,0,0,0] + 350X[1,0,0,0,0,0,0,0] + 6X[1,0,0,0,0,0,0,1]] Out[38]= {X[0, 0, 1, 0, 0, 0, 0, 0], X[2, 0, 0, 0, 0, 0, 0, 0]} In[39]:= givelinkage[oe6,X[0, 0, 1, 0, 0, 0, 0, 0],3] p=3 different class In[40]:= givelinkage[oe6,X[2, 0, 0, 0, 0, 0, 0, 0],3] p=3 different class In[41]:= below[oe8,oe6] Out[41]= True > alt_tensor(3,oe8,E8) 1X[0,0,0,0,0,0,0,0] +1X[0,0,0,0,0,0,0,2] +1X[0,0,0,0,0,0,1,0] + 1X[0,0,0,0,0,1,0,0] +1X[1,0,0,0,0,0,0,0] > dom_char(oe6,E8) 2960X[0,0,0,0,0,0,0,0] +1056X[0,0,0,0,0,0,0,1] + 27X[0,0,0,0,0,0,0,2] + 105X[0,0,0,0,0,0,1,0] + 1X[0,0,0,0,0,1,0,0] + 28X[0,1,0,0,0,0,0,0] + 350X[1,0,0,0,0,0,0,0] + 6X[1,0,0,0,0,0,0,1] In[42]:= complement[1X[0,0,0,0,0,0,0,0] +1X[0,0,0,0,0,0,0,2] +1X[0,0,0,0,0,0,1,0] + 1X[0,0,0,0,0,1,0,0] +1X[1,0,0,0,0,0,0,0],2960X[0,0,0,0,0,0,0,0] +1056X[0,0,0,0,0,0,0,1] + 27X[0,0,0,0,0,0,0,2] + 105X[0,0,0,0,0,0,1,0] + 1X[0,0,0,0,0,1,0,0] + 28X[0,1,0,0,0,0,0,0] + 350X[1,0,0,0,0,0,0,0] + 6X[1,0,0,0,0,0,0,1]] Out[42]= {} In[44]:= settype[E6] number of roots of E6 = 72 > oe1=X[1,0,0,0,0,0] > oe2=X[0,1,0,0,0,0] > oe3=X[0,0,1,0,0,0] > oe4=X[0,0,0,1,0,0] > oe5=X[0,0,0,0,1,0] > oe6=X[0,0,0,0,0,1] Root subsystem of type A5A1 In[46]:= aaa=simpleEven[2] 1 1 1 1 1 1 1 1 Out[46]= {-, -, -, -, -, -(-), -(-), -} 2 2 2 2 2 2 2 2 In[48]:= {a1,a3,a4,a5,a6,aaa}. Transpose[{a1,a3,a4,a5,a6,aaa}]//MatrixForm Out[48]//MatrixForm= 2 -1 0 0 0 0 -1 2 -1 0 0 0 0 -1 2 -1 0 0 0 0 -1 2 -1 0 0 0 0 -1 2 0 0 0 0 0 0 2 In[49]:= resmataa=resmat[a1,a3,a4,a5,a6,aaa] Out[49]= [[1,0,0,0,0,1] ,[0,0,0,0,0,2] ,[0,1,0,0,0,2] ,[0,0,1,0,0,3] ,[0,0,0,1,0,2] ,[0,0,0,0,1,1] ] > resmataa=[[1,0,0,0,0,1] \ ,[0,0,0,0,0,2] \ ,[0,1,0,0,0,2] \ ,[0,0,1,0,0,3] \ ,[0,0,0,1,0,2] \ ,[0,0,0,0,1,1] \ ] > branch(oe1,A5A1,resmataa,E6) 1X[0,0,0,1,0,0] +1X[1,0,0,0,0,1] > branch(oe2,A5A1,resmataa,E6) 1X[0,0,0,0,0,2] +1X[0,0,1,0,0,1] +1X[1,0,0,0,1,0] In[51]:= below[oe1,oe3] Out[51]= True > alt_tensor(2,oe1,E6) 1X[0,0,1,0,0,0] In[52]:= below[oe2,oe4] Out[52]= True > alt_tensor(2,oe2,E6) 1X[0,0,0,1,0,0] +1X[0,1,0,0,0,0] > dom_char(oe4,E6) 45X[0,0,0,0,0,0] + 1X[0,0,0,1,0,0] +15X[0,1,0,0,0,0] + 4X[1,0,0,0,0,1] In[53]:= complement[1X[0,0,0,1,0,0] +1X[0,1,0,0,0,0],45X[0,0,0,0,0,0] + 1X[0,0,0,1,0,0] +15X[0,1,0,0,0,0] + 4X[1,0,0,0,0,1]] Out[53]= {} System of type C4 In[60]:= {a3,a1,a3+a4,a2}.Transpose[ {hat[a3]+hat[a5],hat[a1]+hat[a6],hat[a3+a4]+hat[a5+a4],hat[a2]} ]//MatrixForm Out[60]//MatrixForm= 2 -1 0 0 -1 2 -1 0 0 -1 2 -1 0 0 -2 2 In[61]:= a0==oe2 Out[61]= True > dom_char(oe2,E6) 6X[0,0,0,0,0,0] +1X[0,1,0,0,0,0] > branch(oe2,C4,resmatc,E6) 1X[0,0,0,1] +1X[2,0,0,0] > dom_char(branch(oe2,C4,resmatc,E6),C4) 6X[0,0,0,0] +1X[0,0,0,1] +2X[0,1,0,0] +1X[2,0,0,0] [Jantzen sum formula](C4,3,2 0 0 0) =>0 [Jantzen sum formula](C4,5,2 0 0 0) =>0 [Jantzen sum formula](C4,7,2 0 0 0) =>0 [Jantzen sum formula](C4,11,2 0 0 0) =>0 [Jantzen sum formula](C4,13,2 0 0 0) =>0 [Jantzen sum formula](C4,17,2 0 0 0) =>0 [Jantzen sum formula](C4,19,2 0 0 0) =>0 [Jantzen sum formula](C4,23,2 0 0 0) =>0 [Jantzen sum formula](C4,29,2 0 0 0) =>0 > dom_char(X[0,0,0,1],C4) 2X[0,0,0,0] +1X[0,0,0,1] +1X[0,1,0,0] [Jantzen sum formula](C4,3,0 0 0 1) =>V( 0 0 0 0 ) [Jantzen sum formula](C4,5,0 0 0 1) =>0 [Jantzen sum formula](C4,7,0 0 0 1) =>0 [Jantzen sum formula](C4,11,0 0 0 1) =>0 [Jantzen sum formula](C4,13,0 0 0 1) =>0 [Jantzen sum formula](C4,17,0 0 0 1) =>0 [Jantzen sum formula](C4,19,0 0 0 1) =>0 [Jantzen sum formula](C4,23,0 0 0 1) =>0 [Jantzen sum formula](C4,29,0 0 0 1) =>0 > branch(oe1,C4,resmatc,E6) 1X[0,1,0,0] [Jantzen sum formula](C4,3,0 1 0 0) =>0 [Jantzen sum formula](C4,5,0 1 0 0) =>0 [Jantzen sum formula](C4,7,0 1 0 0) =>0 [Jantzen sum formula](C4,11,0 1 0 0) =>0 [Jantzen sum formula](C4,13,0 1 0 0) =>0 [Jantzen sum formula](C4,17,0 1 0 0) =>0 [Jantzen sum formula](C4,19,0 1 0 0) =>0 [Jantzen sum formula](C4,23,0 1 0 0) =>0 [Jantzen sum formula](C4,29,0 1 0 0) =>0 In[69]:= settype[E7] number of roots of E7 = 126 > oe1=X[1,0,0,0,0,0,0] > oe2=X[0,1,0,0,0,0,0] > oe3=X[0,0,1,0,0,0,0] > oe4=X[0,0,0,1,0,0,0] > oe5=X[0,0,0,0,1,0,0] > oe6=X[0,0,0,0,0,1,0] > oe7=X[0,0,0,0,0,0,1] In[72]:= aa=simpleEven[2] 1 1 1 1 1 1 1 1 Out[72]= {-, -, -, -, -, -(-), -(-), -} 2 2 2 2 2 2 2 2 System of type A7 In[74]:= {a1,a3,a4,a5,a6,a7,aa}.Transpose[{a1,a3,a4,a5,a6,a7,aa} ]//MatrixForm Out[74]//MatrixForm= 2 -1 0 0 0 0 0 -1 2 -1 0 0 0 0 0 -1 2 -1 0 0 0 0 0 -1 2 -1 0 0 0 0 0 -1 2 -1 0 0 0 0 0 -1 2 -1 0 0 0 0 0 -1 2 In[75]:= resmata=resmat[a1,a3,a4,a5,a6,a7,aa] Out[75]= [[1,0,0,0,0,0,1] ,[0,0,0,0,0,0,2] ,[0,1,0,0,0,0,2] ,[0,0,1,0,0,0,3] ,[0,0,0,1,0,0,2] ,[0,0,0,0,1,0,1] ,[0,0,0,0,0,1,0] ] > resmata=[[1,0,0,0,0,0,1] \ ,[0,0,0,0,0,0,2] \ ,[0,1,0,0,0,0,2] \ ,[0,0,1,0,0,0,3] \ ,[0,0,0,1,0,0,2] \ ,[0,0,0,0,1,0,1] \ ,[0,0,0,0,0,1,0] \ ] System of type D6A1 In[76]:= ada=simpleEven[1] Out[76]= {0, 0, 0, 0, 0, 0, -1, 1} In[77]:= {a7,a6,a5,a4,a3,a2,ada}.Transpose[{a7,a6,a5,a4,a3,a2,ada} ]//MatrixForm Out[77]//MatrixForm= 2 -1 0 0 0 0 0 -1 2 -1 0 0 0 0 0 -1 2 -1 0 0 0 0 0 -1 2 -1 -1 0 0 0 0 -1 2 0 0 0 0 0 -1 0 2 0 0 0 0 0 0 0 2 In[78]:= resmatda=resmat[a7,a6,a5,a4,a3,a2,ada] Out[78]= [[0,0,0,0,0,0,2] ,[0,0,0,0,0,1,2] ,[0,0,0,0,1,0,3] ,[0,0,0,1,0,0,4] ,[0,0,1,0,0,0,3] ,[0,1,0,0,0,0,2] ,[1,0,0,0,0,0,1] ] > resmatda=[[0,0,0,0,0,0,2] \ ,[0,0,0,0,0,1,2] \ ,[0,0,0,0,1,0,3] \ ,[0,0,0,1,0,0,4] \ ,[0,0,1,0,0,0,3] \ ,[0,1,0,0,0,0,2] \ ,[1,0,0,0,0,0,1] \ ] > branch(oe1,D6A1,resmatda,E7) 1X[0,0,0,0,0,0,2] +1X[0,0,0,0,1,0,1] +1X[0,1,0,0,0,0,0] > branch(oe2,D6A1,resmatda,E7) 1X[0,0,0,0,0,1,2] +1X[0,0,1,0,0,0,1] +1X[1,0,0,0,0,0,1] + 1X[1,0,0,0,1,0,0] > branch(oe7,D6A1,resmatda,E7) 1X[0,0,0,0,0,1,0] +1X[1,0,0,0,0,0,1] > branch(oe1,A7,resmata,E7) 1X[0,0,0,1,0,0,0] +1X[1,0,0,0,0,0,1] [Jantzen sum formula](A7,3,0 0 0 1 0 0 0) =>0 [Jantzen sum formula](A7,5,0 0 0 1 0 0 0) =>0 [Jantzen sum formula](A7,7,0 0 0 1 0 0 0) =>0 [Jantzen sum formula](A7,11,0 0 0 1 0 0 0) =>0 [Jantzen sum formula](A7,13,0 0 0 1 0 0 0) =>0 [Jantzen sum formula](A7,17,0 0 0 1 0 0 0) =>0 [Jantzen sum formula](A7,19,0 0 0 1 0 0 0) =>0 [Jantzen sum formula](A7,23,0 0 0 1 0 0 0) =>0 [Jantzen sum formula](A7,29,0 0 0 1 0 0 0) =>0 [Jantzen sum formula](A7,3,1 0 0 0 0 0 1) =>0 [Jantzen sum formula](A7,5,1 0 0 0 0 0 1) =>0 [Jantzen sum formula](A7,7,1 0 0 0 0 0 1) =>0 [Jantzen sum formula](A7,11,1 0 0 0 0 0 1) =>0 [Jantzen sum formula](A7,13,1 0 0 0 0 0 1) =>0 [Jantzen sum formula](A7,17,1 0 0 0 0 0 1) =>0 [Jantzen sum formula](A7,19,1 0 0 0 0 0 1) =>0 [Jantzen sum formula](A7,23,1 0 0 0 0 0 1) =>0 [Jantzen sum formula](A7,29,1 0 0 0 0 0 1) =>0 > branch(oe7,A7,resmata,E7) 1X[0,0,0,0,0,1,0] +1X[0,1,0,0,0,0,0] [Jantzen sum formula](A7,3,0 1 0 0 0 0 0) =>0 [Jantzen sum formula](A7,5,0 1 0 0 0 0 0) =>0 [Jantzen sum formula](A7,7,0 1 0 0 0 0 0) =>0 [Jantzen sum formula](A7,11,0 1 0 0 0 0 0) =>0 [Jantzen sum formula](A7,13,0 1 0 0 0 0 0) =>0 [Jantzen sum formula](A7,17,0 1 0 0 0 0 0) =>0 [Jantzen sum formula](A7,19,0 1 0 0 0 0 0) =>0 [Jantzen sum formula](A7,23,0 1 0 0 0 0 0) =>0 [Jantzen sum formula](A7,29,0 1 0 0 0 0 0) =>0 [Jantzen sum formula](A7,3,0 0 0 0 0 1 0) =>0 [Jantzen sum formula](A7,5,0 0 0 0 0 1 0) =>0 [Jantzen sum formula](A7,7,0 0 0 0 0 1 0) =>0 [Jantzen sum formula](A7,11,0 0 0 0 0 1 0) =>0 [Jantzen sum formula](A7,13,0 0 0 0 0 1 0) =>0 [Jantzen sum formula](A7,17,0 0 0 0 0 1 0) =>0 [Jantzen sum formula](A7,19,0 0 0 0 0 1 0) =>0 [Jantzen sum formula](A7,23,0 0 0 0 0 1 0) =>0 [Jantzen sum formula](A7,29,0 0 0 0 0 1 0) =>0 > branch(oe2,A7,resmata,E7) 1X[0,0,0,0,0,0,2] +1X[0,0,1,0,0,0,1] +1X[1,0,0,0,1,0,0] + 1X[2,0,0,0,0,0,0] [Jantzen sum formula](A7,7,0 0 0 0 0 0 2) =>0 [Jantzen sum formula](A7,7,0 0 1 0 0 0 1) =>0 [Jantzen sum formula](A7,7,1 0 0 0 1 0 0) =>0 [Jantzen sum formula](A7,7,2 0 0 0 0 0 0) =>0 In[80]:= below[oe1,oe2] Out[80]= True In[81]:= below[oe7,oe2] Out[81]= True > tensor(oe1,oe7,E7) 1X[0,0,0,0,0,0,1] +1X[0,1,0,0,0,0,0] +1X[1,0,0,0,0,0,1] > dom_char(oe2,E7) 6X[0,0,0,0,0,0,1] +1X[0,1,0,0,0,0,0] In[82]:= complement[1X[0,0,0,0,0,0,1] +1X[0,1,0,0,0,0,0] +1X[1,0,0,0,0,0,1], 6X[0,0,0,0,0,0,1] +1X[0,1,0,0,0,0,0]] Out[82]= {X[1, 0, 0, 0, 0, 0, 1]} In[83]:= givelinkage[oe2,X[1, 0, 0, 0, 0, 0, 1]] p=2 different class p=3 different class p=5 different class p=7 same class p=11 different class p=13 different class p=17 different class p=19 different class p=23 bottom alcove different class p=29 bottom alcove different class p=31 bottom alcove different class p=37 bottom alcove different class p=41 bottom alcove different class p=43 bottom alcove different class p=47 bottom alcove different class In[84]:= below[oe1,oe3] Out[84]= True > alt_tensor(2,oe1,E7) 1X[0,0,1,0,0,0,0] +1X[1,0,0,0,0,0,0] > dom_char(oe3,E7) 77X[0,0,0,0,0,0,0] + 5X[0,0,0,0,0,1,0] + 1X[0,0,1,0,0,0,0] + 22X[1,0,0,0,0,0,0] In[85]:= complement[1X[0,0,1,0,0,0,0] +1X[1,0,0,0,0,0,0], 77X[0,0,0,0,0,0,0] + 5X[0,0,0,0,0,1,0] + 1X[0,0,1,0,0,0,0] + 22X[1,0,0,0,0,0,0]] Out[85]= {} In[86]:= below[oe2,oe4] Out[86]= True > alt_tensor(2,oe2,E7) 1X[0,0,0,0,0,0,0] +1X[0,0,0,0,0,1,0] +1X[0,0,0,1,0,0,0] + 1X[0,1,0,0,0,0,1] +1X[2,0,0,0,0,0,0] > dom_char(oe4,E7) 980X[0,0,0,0,0,0,0] + 45X[0,0,0,0,0,0,2] +145X[0,0,0,0,0,1,0] + 1X[0,0,0,1,0,0,0] + 50X[0,0,1,0,0,0,0] + 15X[0,1,0,0,0,0,1] + 390X[1,0,0,0,0,0,0] + 4X[1,0,0,0,0,1,0] + 15X[2,0,0,0,0,0,0] In[88]:= complement[1X[0,0,0,0,0,0,0] +1X[0,0,0,0,0,1,0] +1X[0,0,0,1,0,0,0] + 1X[0,1,0,0,0,0,1] +1X[2,0,0,0,0,0,0],980X[0,0,0,0,0,0,0] + 45X[0,0,0,0,0,0,2] +145X[0,0,0,0,0,1,0] + 1X[0,0,0,1,0,0,0] + 50X[0,0,1,0,0,0,0] + 15X[0,1,0,0,0,0,1] + 390X[1,0,0,0,0,0,0] + 4X[1,0,0,0,0,1,0] + 15X[2,0,0,0,0,0,0]] Out[88]= {} In[89]:= below[oe7,oe5] Out[89]= True > alt_tensor(3,oe7,E7) 1X[0,0,0,0,0,0,1] +1X[0,0,0,0,1,0,0] > dom_char(oe5,E7) 71X[0,0,0,0,0,0,1] + 1X[0,0,0,0,1,0,0] +21X[0,1,0,0,0,0,0] + 5X[1,0,0,0,0,0,1] In[90]:= complement[1X[0,0,0,0,0,0,1] +1X[0,0,0,0,1,0,0], 71X[0,0,0,0,0,0,1] + 1X[0,0,0,0,1,0,0] +21X[0,1,0,0,0,0,0] + 5X[1,0,0,0,0,0,1]] Out[90]= {} In[91]:= below[oe1,oe5] Out[91]= True In[92]:= below[oe2,oe5] Out[92]= True > tensor(oe1,oe2,E7) 1X[0,0,0,0,0,0,1] +1X[0,0,0,0,1,0,0] +1X[0,1,0,0,0,0,0] + 1X[1,0,0,0,0,0,1] +1X[1,1,0,0,0,0,0] > dom_char(oe5,E7) 71X[0,0,0,0,0,0,1] + 1X[0,0,0,0,1,0,0] +21X[0,1,0,0,0,0,0] + 5X[1,0,0,0,0,0,1] In[93]:= complement[1X[0,0,0,0,0,0,1] +1X[0,0,0,0,1,0,0] +1X[0,1,0,0,0,0,0] + 1X[1,0,0,0,0,0,1] +1X[1,1,0,0,0,0,0], 71X[0,0,0,0,0,0,1] + 1X[0,0,0,0,1,0,0] +21X[0,1,0,0,0,0,0] + 5X[1,0,0,0,0,0,1]] Out[93]= {X[1, 1, 0, 0, 0, 0, 0]} In[94]:= givelinkage[oe5,X[1, 1, 0, 0, 0, 0, 0],3] p=3 different class In[95]:= below[oe7,oe6] Out[95]= True > alt_tensor(2,oe7,E7) 1X[0,0,0,0,0,0,0] +1X[0,0,0,0,0,1,0] > dom_char(oe6,E7) 27X[0,0,0,0,0,0,0] + 1X[0,0,0,0,0,1,0] + 6X[1,0,0,0,0,0,0] In[96]:= complement[1X[0,0,0,0,0,0,0] +1X[0,0,0,0,0,1,0], 27X[0,0,0,0,0,0,0] + 1X[0,0,0,0,0,1,0] + 6X[1,0,0,0,0,0,0]] Out[96]= {} In[7]:= settype[F4] number of roots of F4 = 48 System of type B4 In[36]:= ab=simpleEven[4] Out[36]= {1, -1, 0, 0} In[37]:= resmat[hat[ab],hat[a1],hat[a2],hat[a3]] Out[37]= [[0,1,0,0] ,[1,0,1,0] ,[1,0,0,1] ,[1,0,0,0] ] In[38]:= {ab,a1,a2,a3}.Transpose[{hat[ab],hat[a1],hat[a2],hat[a3]} ]//MatrixForm Out[38]//MatrixForm= 2 -1 0 0 -1 2 -1 0 0 -1 2 -2 0 0 -1 2 > resmatb=[[0,1,0,0] \ ,[1,0,1,0] \ ,[1,0,0,1] \ ,[1,0,0,0] \ ] Sytem of type C3A1 In[39]:= aca=simpleEven[1] Out[39]= {1, 1, 0, 0} In[43]:= {a4,a3,a2,aca}.Transpose[{hat[a4],hat[a3],hat[a2],hat[aca]} ]//MatrixForm Out[43]//MatrixForm= 2 -1 0 0 -1 2 -1 0 0 -2 2 0 0 0 0 2 In[44]:= resmat[hat[a4],hat[a3],hat[a2],hat[aca]] Out[44]= [[0,0,0,2] ,[0,0,1,3] ,[0,1,0,2] ,[1,0,0,1] ] > resmatca=[[0,0,0,2] \ ,[0,0,1,3] \ ,[0,1,0,2] \ ,[1,0,0,1] \ ] > oe1=X[1,0,0,0] > oe2=X[0,1,0,0] > oe3=X[0,0,1,0] > oe4=X[0,0,0,1] > branch(oe1,C3A1,resmatca,F4) 1X[0,0,0,2] +1X[0,0,1,1] +1X[2,0,0,0] > branch(oe4,C3A1,resmatca,F4) 1X[0,1,0,0] +1X[1,0,0,1] > branch(oe1,B4,resmatb,F4) 1X[0,0,0,1] +1X[0,1,0,0] > branch(oe4,B4,resmatb,F4) 1X[0,0,0,0] +1X[0,0,0,1] +1X[1,0,0,0] [Jantzen sum formula](B4,3,0 0 0 1) =>0 [Jantzen sum formula](B4,5,0 0 0 1) =>0 [Jantzen sum formula](B4,7,0 0 0 1) =>0 [Jantzen sum formula](B4,11,0 0 0 1) =>0 [Jantzen sum formula](B4,13,0 0 0 1) =>0 [Jantzen sum formula](B4,17,0 0 0 1) =>0 [Jantzen sum formula](B4,19,0 0 0 1) =>0 [Jantzen sum formula](B4,23,0 0 0 1) =>0 [Jantzen sum formula](B4,29,0 0 0 1) =>0 [Jantzen sum formula](B4,3,1 0 0 0) =>0 [Jantzen sum formula](B4,5,1 0 0 0) =>0 [Jantzen sum formula](B4,7,1 0 0 0) =>0 [Jantzen sum formula](B4,11,1 0 0 0) =>0 [Jantzen sum formula](B4,13,1 0 0 0) =>0 [Jantzen sum formula](B4,17,1 0 0 0) =>0 [Jantzen sum formula](B4,19,1 0 0 0) =>0 [Jantzen sum formula](B4,23,1 0 0 0) =>0 [Jantzen sum formula](B4,29,1 0 0 0) =>0 [Jantzen sum formula](B4,3, 0 1 0 0) =>0 [Jantzen sum formula](B4,5, 0 1 0 0) =>0 [Jantzen sum formula](B4,7, 0 1 0 0) =>0 [Jantzen sum formula](B4,11, 0 1 0 0) =>0 [Jantzen sum formula](B4,13, 0 1 0 0) =>0 [Jantzen sum formula](B4,17, 0 1 0 0) =>0 [Jantzen sum formula](B4,19, 0 1 0 0) =>0 [Jantzen sum formula](B4,23, 0 1 0 0) =>0 [Jantzen sum formula](B4,29, 0 1 0 0) =>0 > alt_tensor(2,oe4,F4) 1X[0,0,1,0] +1X[1,0,0,0] > dom_char(oe3,F4) 9X[0,0,0,0] +5X[0,0,0,1] +1X[0,0,1,0] +2X[1,0,0,0] In[45]:= complement[1X[0,0,1,0] +1X[1,0,0,0],9X[0,0,0,0] +5X[0,0,0,1] +1X[0,0,1,0] +2X[1,0,0,0]] Out[45]= {} In[47]:= below[oe4,oe3] Out[47]= True In[48]:= below[oe1,oe2] Out[48]= True > alt_tensor(2,oe1,F4) 1X[0,1,0,0] +1X[1,0,0,0] > dom_char(oe2,F4) 26X[0,0,0,0] +13X[0,0,0,1] + 3X[0,0,0,2] + 4X[0,0,1,0] + 1X[0,1,0,0] +10X[1,0,0,0] + 1X[1,0,0,1] In[49]:= complement[1X[0,1,0,0] +1X[1,0,0,0],26X[0,0,0,0] +13X[0,0,0,1] + 3X[0,0,0,2] + 4X[0,0,1,0] + 1X[0,1,0,0] +10X[1,0,0,0] + 1X[1,0,0,1]] Out[49]= {}