needsPackage("LieAlgebraRepresentations"); debug LieAlgebraRepresentations; GTPplusdelta = (GTP,i,j) -> ( gtpA(gtpPMDeltakiEntries(GTP,1,i,j)) ); aIJXkFactors = (GTP, i,k) -> ( n:=#(GTP#"weight")+1; num1 := product apply(toList(1..k-1), q -> ((GTP#(k,i)-i+1)-(GTP#(k-1,q)-q+1)+1)); num2 := product apply(toList(1..k+1), q -> ((GTP#(k,i)-i+1)-(GTP#(k+1,q)-q+1))); denom1 := product apply(toList(1..k), q -> ((GTP#(k,i)-i+1)-(GTP#(k,q)-q+1)+1)); denom2 := product apply(toList(1..k), q -> if q==i then 1 else ((GTP#(k,i)-i+1)-(GTP#(k,q)-q+1))); {num1,num2,denom1,denom2} ); aIJYkFactors = (GTP, i,k) -> ( n:=#(GTP#"weight")+1; num1 := product apply(toList(1..k-1), q -> ((GTP#(k,i)-i+1)-(GTP#(k-1,q)-q+1))); num2 := product apply(toList(1..k+1), q -> ((GTP#(k,i)-i+1)-(GTP#(k+1,q)-q+1)-1)); denom1 := product apply(toList(1..k), q -> ((GTP#(k,i)-i+1)-(GTP#(k,q)-q+1)-1)); denom2 :=product apply(toList(1..k), q -> if q==i then 1 else ((GTP#(k,i)-i+1)-(GTP#(k,q)-q+1))); {num1,num2,denom1,denom2} ); end load "Proposition_A.4_proof.m2" -- Example 1 g = simpleLieAlgebra("A",3); lambda = {2,0,0}; Blambda = gtPatterns("A",dynkinToPartition("A",lambda)); N = #Blambda; -- Test Xk LX = {}; for z from 0 to N-1 do ( P = gtpA(Blambda_z); for k from 1 to #lambda do ( for i from 1 to k do ( GTPPlusDeltakiEntries:=gtpPMDeltakiEntries(P,1,k,i); if not isValidEntryList("A",GTPPlusDeltakiEntries) then continue; Q = dualGTPattern(GTPPlusDeltakiEntries); v1=aIJXkFactors(P,i,k); v2=aIJXkFactors(gtpA(Q),k+1-i,k); LX = append(LX,{z,k,i,v1,v2,v2==(-1)^(k-1)*{v1_0,v1_1,v1_3,v1_2}}) ))); all(LX, x -> last x) -- Test Yk LY = {}; for z from 0 to N-1 do ( P = gtpA(Blambda_z); for k from 1 to #lambda do ( for i from 1 to k do ( GTPMinusDeltakiEntries:=gtpPMDeltakiEntries(P,-1,k,i); if not isValidEntryList("A",GTPMinusDeltakiEntries) then continue; Q = dualGTPattern(GTPMinusDeltakiEntries); v1=aIJYkFactors(P,i,k); v2=aIJYkFactors(gtpA(Q),k+1-i,k); LY = append(LY,{z,k,i,v1,v2,v2==(-1)^(k-1)*{v1_0,v1_1,-v1_3,-v1_2}}) ))); all(LY, x -> last x) -- Example 2 g = simpleLieAlgebra("A",3); lambda = {3,2,1}; Blambda = gtPatterns("A",dynkinToPartition("A",lambda)); N = #Blambda; -- Test Xk LX = {}; for z from 0 to N-1 do ( P = gtpA(Blambda_z); for k from 1 to #lambda do ( for i from 1 to k do ( GTPPlusDeltakiEntries:=gtpPMDeltakiEntries(P,1,k,i); if not isValidEntryList("A",GTPPlusDeltakiEntries) then continue; Q = dualGTPattern(GTPPlusDeltakiEntries); v1=aIJXkFactors(P,i,k); v2=aIJXkFactors(gtpA(Q),k+1-i,k); LX = append(LX,{z,k,i,v1,v2,v2==(-1)^(k-1)*{v1_0,v1_1,v1_3,v1_2}}) ))); all(LX, x -> last x) -- Test Yk LY = {}; for z from 0 to N-1 do ( P = gtpA(Blambda_z); for k from 1 to #lambda do ( for i from 1 to k do ( GTPMinusDeltakiEntries:=gtpPMDeltakiEntries(P,-1,k,i); if not isValidEntryList("A",GTPMinusDeltakiEntries) then continue; Q = dualGTPattern(GTPMinusDeltakiEntries); v1=aIJYkFactors(P,i,k); v2=aIJYkFactors(gtpA(Q),k+1-i,k); LY = append(LY,{z,k,i,v1,v2,v2==(-1)^(k-1)*{v1_0,v1_1,-v1_3,-v1_2}}) ))); all(LY, x -> last x) -- Example 3 g = simpleLieAlgebra("A",5); lambda = {1,0,0,0,1}; Blambda = gtPatterns("A",dynkinToPartition("A",lambda)); N = #Blambda; -- Test Xk LX = {}; for z from 0 to N-1 do ( P = gtpA(Blambda_z); for k from 1 to #lambda do ( for i from 1 to k do ( GTPPlusDeltakiEntries:=gtpPMDeltakiEntries(P,1,k,i); if not isValidEntryList("A",GTPPlusDeltakiEntries) then continue; Q = dualGTPattern(GTPPlusDeltakiEntries); v1=aIJXkFactors(P,i,k); v2=aIJXkFactors(gtpA(Q),k+1-i,k); LX = append(LX,{z,k,i,v1,v2,v2==(-1)^(k-1)*{v1_0,v1_1,v1_3,v1_2}}) ))); all(LX, x -> last x) -- Test Yk LY = {}; for z from 0 to N-1 do ( P = gtpA(Blambda_z); for k from 1 to #lambda do ( for i from 1 to k do ( GTPMinusDeltakiEntries:=gtpPMDeltakiEntries(P,-1,k,i); if not isValidEntryList("A",GTPMinusDeltakiEntries) then continue; Q = dualGTPattern(GTPMinusDeltakiEntries); v1=aIJYkFactors(P,i,k); v2=aIJYkFactors(gtpA(Q),k+1-i,k); LY = append(LY,{z,k,i,v1,v2,v2==(-1)^(k-1)*{v1_0,v1_1,-v1_3,-v1_2}}) ))); all(LY, x -> last x) -- Example 4 g = simpleLieAlgebra("A",6); lambda = {2,0,0,0,1,0}; Blambda = gtPatterns("A",dynkinToPartition("A",lambda)); N = #Blambda; -- Test Xk LX = {}; for z from 0 to N-1 do ( P = gtpA(Blambda_z); for k from 1 to #lambda do ( for i from 1 to k do ( GTPPlusDeltakiEntries:=gtpPMDeltakiEntries(P,1,k,i); if not isValidEntryList("A",GTPPlusDeltakiEntries) then continue; Q = dualGTPattern(GTPPlusDeltakiEntries); v1=aIJXkFactors(P,i,k); v2=aIJXkFactors(gtpA(Q),k+1-i,k); LX = append(LX,{z,k,i,v1,v2,v2==(-1)^(k-1)*{v1_0,v1_1,v1_3,v1_2}}) ))); all(LX, x -> last x) -- Test Yk LY = {}; for z from 0 to N-1 do ( P = gtpA(Blambda_z); for k from 1 to #lambda do ( for i from 1 to k do ( GTPMinusDeltakiEntries:=gtpPMDeltakiEntries(P,-1,k,i); if not isValidEntryList("A",GTPMinusDeltakiEntries) then continue; Q = dualGTPattern(GTPMinusDeltakiEntries); v1=aIJYkFactors(P,i,k); v2=aIJYkFactors(gtpA(Q),k+1-i,k); LY = append(LY,{z,k,i,v1,v2,v2==(-1)^(k-1)*{v1_0,v1_1,-v1_3,-v1_2}}) ))); all(LY, x -> last x)