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 9.8
%run '/home/user/Equivariant_Vector_Bundles_On_Homogeneous_Varieties__0-0-1/src/Initialize.ipynb' from IPython.display import clear_output , display , HTML
k = 3 n = 7 X = Orthogonal_Grassmannian( k , 2*n+1 ) fw = X.Basis('fw') print( 'Base space:' , X.__str__( Output_Style='Short' ) ) print( 'rk K0(X):' , X.K0().rank() ) print( 'Fano index:' , X.Fano_Index() ) print() h = X.Fano_Index() # Kuznetsov's spinor bundle filtration calS = X.calS() F3 = ( X.calU().Exterior_Power(3) * calS ) F2 = ( X.calU().Exterior_Power(2) * calS ).Extend_Equivariantly_By( F3 ) F1 = ( X.calU().Exterior_Power(1) * calS ).Extend_Equivariantly_By( F2 ) F0 = ( X.calU().Exterior_Power(0) * calS ).Extend_Equivariantly_By( F1 ) LC = X.Lefschetz_Collection( Starting_Block=[] , Support_Pattern='Trivial' ) # Tautological collection LC += X.Tautological_Collection() # ... extension of the tautological collection ... # Degree = 5 E = X.calU( 4*fw[1]+fw[2] ) LC += X.Lefschetz_Collection( Starting_Block=[E] , Support_Pattern=h*[1] ) E = X.calU( 3*fw[1]+2*fw[2] ) LC += X.Lefschetz_Collection( Starting_Block=[E] , Support_Pattern=h*[1] ) # Degree = 6 E = X.calU( 4*fw[1]+2*fw[2] ) LC += X.Lefschetz_Collection( Starting_Block=[E] , Support_Pattern=h*[1] ) # Mysterious collection # 1 LC += X.Lefschetz_Collection( Starting_Block=[X.calU( 3*fw[1]+fw[n-1] )(-1).Extend_Equivariantly_By( X.calU( 2*fw[1]+fw[n-2] )(-1) ).Extend_Equivariantly_By( X.calU( fw[n-1] )(-1) )] , Support_Pattern=h*[1] ) # 2 E = X.calU( fw[n] ) LC += X.Lefschetz_Collection( Starting_Block=[X.calU( fw[1]+2*fw[n] )(-1).Extend_Equivariantly_By( X.calU( 2*fw[n] )(-1) + X.calU( fw[n-1] )(-1) )] , Support_Pattern=h*[1] ) # Note: We extend by X.calU( 2*fw[n] )(-1) + X.calU( fw[n-1] )(-1). # However, F3 * X.calU( fw[n] ) = X.calU( 2*fw[n] )(-1) + X.calU( fw[n-1] )(-1) + ... + X.calU( fw[k+1] )(-1) + X.calO() # Spinor collection # Degree = 1/2 E = X.calU( fw[n] ) LC += X.Lefschetz_Collection( Starting_Block=[E] , Support_Pattern=h*[1] ) # Degree = 3/2 E = X.calO()(1) LC += X.Lefschetz_Collection( Starting_Block=[X.calU( fw[1]+fw[n] ).Extend_Equivariantly_By( F3 * E )] , Support_Pattern=h*[1] ) # Degree = 5/2 E = X.calU( fw[1] )(1) LC += X.Lefschetz_Collection( Starting_Block=[X.calU( 2*fw[1]+fw[n] ).Extend_Equivariantly_By( F3 * E )] , Support_Pattern=h*[1] ) # Degree = 7/2 E = X.calU( 2*fw[1] )(1) LC += X.Lefschetz_Collection( Starting_Block=[X.calU( 3*fw[1]+fw[n] ).Extend_Equivariantly_By( F3 * E )] , Support_Pattern=h*[1] ) # Degree = 9/2 E = X.calU( 3*fw[1] )(1) LC += X.Lefschetz_Collection( Starting_Block=[X.calU( 4*fw[1]+fw[n] ).Extend_Equivariantly_By( F3 * E )] , Support_Pattern=h*[1] ) # Degree = 11/2 E = X.calU( 4*fw[1] )(1) LC += X.Lefschetz_Collection( Starting_Block=[X.calU( 5*fw[1]+fw[n] ).Extend_Equivariantly_By( F3 * E )] , Support_Pattern=5*[1] ) print( 'Objects of starting block:' ) Body = [ [ str(Counter)+':' , str(Object) , str(sum([ 1 for Row in LC.Support_Pattern().values() if Row[Counter-1] == True ])) ] for Counter , Object in enumerate( LC.Starting_Block() , start=1 ) ] show( table(Body) ) print() print( 'Number of objects:' , len(LC) ) print( 'LC has maximal expected length?' , LC.Has_Maximal_Expected_Length() ) print() print( 'Grid of LC:' ) show( LC.Grid() ) print() #LC_Is_Numercially_Exceptional = LC.Is_Numerically_Exceptional() #print( 'Is LC numerially exceptional?' , LC_Is_Numercially_Exceptional ) #print()
Base space: OGr(3;15) rk K0(X): 280 Fano index: 11 Objects of starting block:
Number of objects: 280 LC has maximal expected length? True Grid of LC: