#restart: with(schubert): #Katz&Stromme Package n:=5;#change as you like binomial(n+2,2); grass(3,%,q); #Grass DIM; where(); chern(Qq); #eval(Gq); #Word of caution: schubert plays with the quotient Qq. #We need -c1(dual(Qq))=q1, so no harm working with this convention. d:=(q1-e)^DIM; #Pullback of hypln class under G-->Fol d:=q1^DIM+collect(d-mtaylor(d,e,DIM-2*(n-1)),e); #clean up terms of too small codim-->0 grass(2,n+1,c); #indeterm. locus, blowup center, veronese in G(3,S2) TGc:=tangentbundle(Gc): setvariety(Gc);DIM; mtaylor(Hom(n+1-Qc,Qc)-TGc,t,DIM+1); #TGq:=tangentbundle(Gq):# smarter: DIM; Qq:=bundle(3,q): #Restriction of TG(3,S2F) ato TG(2,F) TGqc:=mtaylor(subs(seq(chern(i,Qq)= chern(i,symm(2,Qc)),i=1..3), Hom(binomial(n+2,2)-Qq,Qq)),t,DIM+1): N:=TGqc-TGc: # normal bundle d; d0:=integral(Gq,subs(e=0,d));#n=4--->2861142656400 #Contribution off indeterminacy locus d:=d-subs(e=0,d); #Remaining contribs sN:=chern(0,2*(n-1),-N);#chern(-N); Gq[dimension_]; cod:=Gq[dimension_]-Gc[dimension_]; dim:=Gq[dimension_]; p:=0; for i from cod to dim do p:=p+(-1)^(i-1)*coeff(d,e,i)* sN[i-cod+1] od; #direct image in Gc indets(p); p:=subs(q1=chern(1,symm(2,Qc)),p); integral(%); d0+%; ifactor(%); #check [n=4,2860923458080],[n=5,243661972980477736263],[n=6,728440733705107831789517245858];