Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

Environment to perform calculations of equivariant vector bundles on homogeneous varieties

1842 views
License: GPL3
ubuntu2204
Kernel: SageMath 10.3
%run '../Initialize.ipynb' from Equivariant_Vector_Bundles_On_Homogeneous_Varieties.Base_Space.Orthogonal_Grassmannian import Orthogonal_Grassmannian
k = 3 n = 6 N = 2*n+1 X = Orthogonal_Grassmannian(k,N) G = X.Parent_Group() fw = X.Basis('fw') Output = dict({}) Output.update({ 1 : '' }) Output[1] += 'X: '+str(X)+'\n' Output[1] += '(n='+str(n)+')'+'\n' d = X.Dimension() Output[1] += 3*' '+'Dimension: '+str(d)+'\n' lMax = X.K0().rank() Output[1] += 3*' '+'Rank of K0(X) (max. collection length): '+str(lMax)+'\n' wMax = X.Fano_Index() Output[1] += 3*' '+'Fano index (max. orbit length): '+str(wMax)+'\n' Output[1] += '\n' Output.update({ 2 : '' }) Output[2] += 3*' '+'Consecutive Lefschetz collection.'+'\n' LC1 = X.My_Collection( Modus='Con' ) l1 = len(LC1) Output[2] += 3*' '+'Starting block:'+'\n' w1_0 = len( LC1.Starting_Block() ) s = ceil( math.log10( w1_0 ) ) for i , cE in enumerate ( LC1.Starting_Block() , start=1 ) : Output[2] += 6*' '+(s-floor(math.log10(i))-1)*' '+str(i)+' '+str(cE)+'\n' Output[2] += '\n' Output.update({ 3 : '' }) Output[3] += 3*' '+'Alternating Lefschetz collection.'+'\n' LC2 = X.My_Collection( Modus='Alt' ) l2 = len(LC2) Output[3] += 3*' '+'Starting block:'+'\n' w2_0 = len( LC2.Starting_Block() ) s = ceil( math.log10( w2_0 ) ) for i , cE in enumerate ( LC2.Starting_Block() , start=1 ) : Output[3] += 6*' '+(s-floor(math.log10(i))-1)*' '+str(i)+' '+str(cE)+'\n' Output[3] += '\n' for Key , Line in Output.items() : print( Line )
X: Orthogonal grassmannian variety of 3-dimensional isotropic linear subspaces in a 13-dimensional ambient vector space. (n=6) Dimension: 24 Rank of K0(X) (max. collection length): 160 Fano index (max. orbit length): 9 Consecutive Lefschetz collection. Starting block: 1 VB(0) 2 VB(Lambda[1]) 3 VB(Lambda[2]) 4 VB(2*Lambda[1]) 5 VB(Lambda[1] + Lambda[2]) 6 VB(2*Lambda[2]) 7 VB(3*Lambda[1]) 8 VB(2*Lambda[1] + Lambda[2]) 9 VB(Lambda[1] + 2*Lambda[2]) 10 VB(3*Lambda[2]) 11 VB(3*Lambda[1] + Lambda[2]) 12 VB(2*Lambda[1] + 2*Lambda[2]) 13 VB(Lambda[6]) 14 Equivariant extension of VB(Lambda[1] + Lambda[6]) by VB(Lambda[6]) 15 Equivariant extension of VB(2*Lambda[1] + Lambda[6]) by VB(Lambda[1] + Lambda[6]) 16 Equivariant extension of VB(3*Lambda[1] + Lambda[6]) by VB(2*Lambda[1] + Lambda[6]) 17 Equivariant extension of VB(4*Lambda[1] + Lambda[6]) by VB(3*Lambda[1] + Lambda[6]) Alternating Lefschetz collection. Starting block: 1 VB(0) 2 VB(Lambda[6]) 3 VB(Lambda[1]) 4 VB(Lambda[2]) 5 Equivariant extension of VB(Lambda[1] + Lambda[6]) by VB(Lambda[6]) 6 VB(2*Lambda[1]) 7 VB(Lambda[1] + Lambda[2]) 8 VB(2*Lambda[2]) 9 Equivariant extension of VB(2*Lambda[1] + Lambda[6]) by VB(Lambda[1] + Lambda[6]) 10 VB(3*Lambda[1]) 11 VB(2*Lambda[1] + Lambda[2]) 12 VB(Lambda[1] + 2*Lambda[2]) 13 VB(3*Lambda[2]) 14 Equivariant extension of VB(3*Lambda[1] + Lambda[6]) by VB(2*Lambda[1] + Lambda[6]) 15 VB(3*Lambda[1] + Lambda[2]) 16 VB(2*Lambda[1] + 2*Lambda[2]) 17 Equivariant extension of VB(4*Lambda[1] + Lambda[6]) by VB(3*Lambda[1] + Lambda[6])
A1 = X.calU( 3*fw[1]+fw[n-1] )(-1) A2 = X.calU( 2*fw[1]+fw[n-2] )(-1) A3 = X.calU( fw[n-1] )(-1) #print( A1.EXT(A2) ) #print( A1.EXT(A3) ) #print( A2.EXT(A1) ) #print( A2.EXT(A3) ) #print( A3.EXT(A1) ) #print( A3.EXT(A2) ) E = X.calU( 0*fw[n] ) * G.rmV( fw[4] ) print( E ) for Smd in ( E ).Irreducible_Components() : print( 3*' ' , Smd) #cM1 = X.calU( fw[1]+2*fw[n] )(-1) + X.calU( 2*fw[n] )(-1) + X.calU( fw[n-1] )(-1) ##cM2 = X.Complex({ -2 : cM1 , -1 : X.calU( fw[n] ) * G.rmV( fw[n] ) , 0 : 'Cokernel' }).SemiSimplification(0) #cM2 = cM1*-1 # #print( 'cM2 has semi-simplification '+bcolors.OKBLUE+str(cM2)+bcolors.ENDC+'.' ) #print() #for i , LC in enumerate([ LC1 , LC2 ] , start=1 ) : # print( 3*' ' , 'Can candidate be embedded in the Lefschetz collection LC'+str(i)+'?' ) # print() # # for xPos , Admissible_Columns in LC.Test_For_Extension ( New_Object=cM2 , Test_Numerically=True , Test_If_Self_Is_Exceptional=False ) : # if 0 < len(Admissible_Columns) : print( 6*' ' , bcolors.OKGREEN+'Yes'+bcolors.ENDC+' after row '+str(xPos)+' to the columns '+bcolors.OKBLUE+str(Admissible_Columns)+bcolors.ENDC+'.' ) # else : print( 6*' ' , bcolors.FAIL+'Not'+bcolors.ENDC+' after row '+str(xPos)+'.' ) # print()
B6(0,0,0,1,0,0) * VB(0) VB(Lambda[1] + Lambda[2] - 2*Lambda[3] + Lambda[5]) VB(Lambda[1] - Lambda[3] + 2*Lambda[6]) VB(Lambda[2] - 2*Lambda[3] + 2*Lambda[6]) VB(Lambda[2] - Lambda[3] + Lambda[5]) VB(Lambda[1] - 2*Lambda[3] + Lambda[5]) VB(2*Lambda[2] - 2*Lambda[3] + Lambda[4]) VB(2*Lambda[1] - 2*Lambda[3] + Lambda[4]) VB(-Lambda[3] + 2*Lambda[6]) VB(Lambda[1] - Lambda[3] + Lambda[4]) VB(-Lambda[3] + Lambda[5]) VB(Lambda[2] - 2*Lambda[3] + Lambda[4]) VB(Lambda[1] + Lambda[2] - Lambda[3]) VB(Lambda[4]) VB(-2*Lambda[3] + Lambda[4]) VB(Lambda[2]) VB(Lambda[1] - Lambda[3]) VB(0)
print( G.rmV( fw[6] ).exterior_power(4) )
2*B6(0,0,0,0,0,0) + B6(1,0,0,0,0,0) + B6(0,0,1,0,0,0) + 2*B6(0,0,0,1,0,0) + 2*B6(0,0,0,0,1,0) + B6(0,0,0,0,0,2) + B6(2,0,0,0,0,0) + B6(1,0,0,1,0,0) + B6(1,0,0,0,1,0) + B6(0,1,0,0,0,2) + B6(0,0,2,0,0,0) + B6(0,0,1,1,0,0) + B6(0,0,1,0,0,2) + B6(0,0,0,2,0,0)
cM2 = X.calU( fw[1]+2*fw[4] )(-1) + X.calU( 2*fw[4] )(-1) + X.calU( fw[n-1] )(-1) cM3 = cM2*-1 for Smd in ( X.calU( fw[n] ) * G.rmV( fw[n] ) ).Irreducible_Components() : cM3 += Smd cM = cM3