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 = 5 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 11-dimensional ambient vector space. (n=5) Dimension: 18 Rank of K0(X) (max. collection length): 80 Fano index (max. orbit length): 7 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(2*Lambda[1] + Lambda[2]) 8 VB(Lambda[5]) 9 Equivariant extension of VB(Lambda[1] + Lambda[5]) by VB(Lambda[5]) 10 Equivariant extension of VB(2*Lambda[1] + Lambda[5]) by VB(Lambda[1] + Lambda[5]) 11 Equivariant extension of VB(3*Lambda[1] + Lambda[5]) by VB(2*Lambda[1] + Lambda[5]) Alternating Lefschetz collection. Starting block: 1 VB(0) 2 VB(Lambda[5]) 3 VB(Lambda[1]) 4 VB(Lambda[2]) 5 Equivariant extension of VB(Lambda[1] + Lambda[5]) by VB(Lambda[5]) 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[5]) by VB(Lambda[1] + Lambda[5]) 10 VB(2*Lambda[1] + Lambda[2]) 11 Equivariant extension of VB(3*Lambda[1] + Lambda[5]) by VB(2*Lambda[1] + Lambda[5])
cM = ( X.calU( fw[1]+2*fw[n] )(-1) + X.calU( 2*fw[n] )(-1) + X.calU( fw[n-1] )(-1))*-1 for Smd in ( X.calU( fw[n] ) * G.rmV( fw[n] ) ).Irreducible_Components() : cM += Smd print( 'cM has semi-simplification '+bcolors.OKBLUE+str(cM)+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=cM , 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()
cM2 has semi-simplification VB(Lambda[2] - Lambda[3] + 2*Lambda[5]) + VB(Lambda[2] - Lambda[3] + Lambda[4]) + VB(Lambda[2]) + VB(Lambda[1] - Lambda[3] + Lambda[4]) + VB(Lambda[1]) + VB(2*Lambda[5]) + VB(Lambda[4]) + VB(Lambda[3]) + VB(0). Can candidate be embedded in the Lefschetz collection LC1? Not after row 0. Not after row 1. Not after row 2. Not after row 3. Not after row 4. Not after row 5. Not after row 6. Not after row 7. Yes after row 8 to the columns [0, 1, 2, 3, 4, 5, 6]. Yes after row 9 to the columns [0, 1, 2, 3, 4, 5, 6]. Yes after row 10 to the columns [0, 1, 2, 3, 4, 5, 6]. Yes after row 11 to the columns [0, 1, 2, 3, 4, 5, 6]. Can candidate be embedded in the Lefschetz collection LC2? Not after row 0. Not after row 1. Not after row 2. Not after row 3. Not after row 4. Not after row 5. Not after row 6. Not after row 7. Not after row 8. Not after row 9. Yes after row 10 to the columns [0, 1, 2, 3, 4, 5, 6]. Yes after row 11 to the columns [0, 1, 2, 3, 4, 5, 6].
for Smd in X.calS()^2 : print( Smd )
VB(2*Lambda[5]) VB(Lambda[4]) VB(Lambda[3])
cR = X.calU( fw[4] )(-1) for i in [ 0 .. cR.Rank() ] : print( i , cR.Wedge(i) )
0 VB(0) 1 VB(-Lambda[3] + Lambda[4]) 2 VB(-Lambda[3] + 2*Lambda[5]) 3 VB(-Lambda[3] + 2*Lambda[5]) 4 VB(-Lambda[3] + Lambda[4]) 5 VB(0)