needsPackage("LieAlgebraRepresentations"); debug LieAlgebraRepresentations; PPstar = (GTP) -> ( n:=#(GTP#"weight")+1; p:=1; N2:=1; D1:=1; for k from 2 to n do ( for i from 1 to k-1 do ( for j from i to k-1 do ( --N1 = append(N1,((GTP#(k,i)-i+1)-(GTP#(k-1,j)-j+1))); D1 = D1*((GTP#(k-1,i)-i+1)-(GTP#(k-1,j)-j+1))!; ) ); for i from 1 to k-1 do ( for j from i+1 to k do ( N2 = N2*((GTP#(k,i)-i+1)-(GTP#(k,j)-j+1)-1)!; --D2 = append(D2,((GTP#(k-1,i)-i+1)-(GTP#(k,j)-j+1)-1)); ) ); ); N2/D1 ) end load "Proposition_A.8_statement.m2"; -- Example 1 g = simpleLieAlgebra("A",3); lambda = {2,0,0}; lambdastar = reverse lambda; Blambda = gtPatterns("A",dynkinToPartition("A",lambda)); Blambdastar = gtPatterns("A",dynkinToPartition("A",lambdastar)); N = #Blambda; sigma = apply(N, i -> first select(N, k -> Blambdastar_k==dualGTPattern(Blambda_i))); Blambdastar = apply(N, i -> Blambdastar_(sigma_i)); all(N, i -> sqrt(molevCoefficient(gtpA(Blambda_i))*molevCoefficient(gtpA(Blambdastar_i)))==PPstar(gtpA(Blambda_i))) -- Example 2 g = simpleLieAlgebra("A",3); lambda = {3,2,1}; lambdastar = reverse lambda; Blambda = gtPatterns("A",dynkinToPartition("A",lambda)); Blambdastar = gtPatterns("A",dynkinToPartition("A",lambdastar)); N = #Blambda; sigma = apply(N, i -> first select(N, k -> Blambdastar_k==dualGTPattern(Blambda_i))); Blambdastar = apply(N, i -> Blambdastar_(sigma_i)); all(N, i -> sqrt(molevCoefficient(gtpA(Blambda_i))*molevCoefficient(gtpA(Blambdastar_i)))==PPstar(gtpA(Blambda_i))) -- Example 3 g = simpleLieAlgebra("A",5); lambda = {1,0,0,0,1}; lambdastar = reverse lambda; Blambda = gtPatterns("A",dynkinToPartition("A",lambda)); Blambdastar = gtPatterns("A",dynkinToPartition("A",lambdastar)); N = #Blambda; sigma = apply(N, i -> first select(N, k -> Blambdastar_k==dualGTPattern(Blambda_i))); Blambdastar = apply(N, i -> Blambdastar_(sigma_i)); all(N, i -> sqrt(molevCoefficient(gtpA(Blambda_i))*molevCoefficient(gtpA(Blambdastar_i)))==PPstar(gtpA(Blambda_i))) -- Example 4 g = simpleLieAlgebra("A",6); lambda = {2,0,0,0,1,0}; lambdastar = reverse lambda; Blambda = gtPatterns("A",dynkinToPartition("A",lambda)); Blambdastar = gtPatterns("A",dynkinToPartition("A",lambdastar)); N = #Blambda; sigma = apply(N, i -> first select(N, k -> Blambdastar_k==dualGTPattern(Blambda_i))); Blambdastar = apply(N, i -> Blambdastar_(sigma_i)); all(N, i -> sqrt(molevCoefficient(gtpA(Blambda_i))*molevCoefficient(gtpA(Blambdastar_i)))==PPstar(gtpA(Blambda_i)))