Contact Us!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In

Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.

| Download

Environment to perform calculations of equivariant vector bundles on homogeneous varieties

Views: 1571
License: GPL3
Image: ubuntu2204
Kernel: SageMath 9.8
%run './Initialize.ipynb' from Equivariant_Vector_Bundles_On_Homogeneous_Varieties.Base_Space.Orthogonal_Grassmannian import Orthogonal_Grassmannian
for n in [ 2 .. 10 ] : print( 'n='+str(n)+':' ) for k in [ 1 .. n ] : print( 3*' ' , 'k='+str(k)+':' ) N = 2*n+1 X = Orthogonal_Grassmannian(k,N) G = X.Parent_Group() fw = X.Basis('fw') rV = G.rmV(fw[1]) cO = X.calO() cU = X.calU() cQ = X.Complex({ -2 : cU , -1 : cO * rV , 0 : 'Cokernel' }).SemiSimplification(0) cT = cU.Dual()*cQ - cU.Dual().Symmetric_Power(2) Results = [] Highest_Degree = -infinity for q in [ 3 ] : #[ n .. cT.Rank() ] : cA = cT.Wedge(q) for t in [ 1 ] : cB = cO(t) EXTSpace = cA.EXT( cB ) if 0 < max( list(EXTSpace.keys()) + [ -infinity ] ) and sum([ (-1)^Degree*Value for Degree , Value in EXTSpace.items() ]) != G.rmV(0) : Results += [ ( q , t , EXTSpace ) ] Highest_Degree = max([ Highest_Degree ] + list(EXTSpace.keys()) ) if 0 < len(Results) : Output = [ [ '' ] + [ str(Degree) for Degree in [ 0 .. Highest_Degree ] ] ] for q , t , EXTSpace in Results : Values = [] for CurrentDegree in [ 0 .. Highest_Degree ] : if CurrentDegree in EXTSpace.keys() : Values += [ str(EXTSpace[CurrentDegree]) ] else : Values += [ '' ] Output += [ [ 'EXT( cT.Wedge('+str(q)+') , cO('+str(t)+') )' ] + Values ] for Row in str(table( Output , header_row=True , header_column=True )).split('\n') : print( 6*' ' , Row ) print()
n=2: k=1: k=2: n=3: k=1: | 0 1 2 +----------------------------+---+---+-----------+ EXT( cT.Wedge(3) , cO(1) ) | B3(0,0,0) k=2: | 0 1 2 +----------------------------+---+-----------+-------------+ EXT( cT.Wedge(3) , cO(1) ) | B3(0,0,0) 2*B3(0,0,0) k=3: n=4: k=1: k=2: | 0 1 2 +----------------------------+---+-------------+-----------------------------+ EXT( cT.Wedge(3) , cO(1) ) | B4(0,0,0,0) 2*B4(0,0,0,0) + B4(1,0,0,0) k=3: | 0 1 2 +----------------------------+---+---------------------------+-----------------------------+ EXT( cT.Wedge(3) , cO(1) ) | B4(0,0,0,0) + B4(1,0,0,0) B4(0,0,0,0) + 2*B4(1,0,0,0) k=4: n=5: k=1: k=2: | 0 1 2 +----------------------------+---+---------------+-----------------+ EXT( cT.Wedge(3) , cO(1) ) | B5(0,0,0,0,0) 2*B5(0,0,0,0,0) k=3: | 0 1 2 +----------------------------+---+---------------+---------------------------------+ EXT( cT.Wedge(3) , cO(1) ) | B5(1,0,0,0,0) 2*B5(1,0,0,0,0) + B5(0,1,0,0,0) k=4: | 0 1 2 +----------------------------+---------------+-----------------------------------------------+---------------------------------+ EXT( cT.Wedge(3) , cO(1) ) | B5(0,0,0,0,0) B5(0,0,0,0,0) + B5(1,0,0,0,0) + B5(0,1,0,0,0) B5(1,0,0,0,0) + 2*B5(0,1,0,0,0) k=5: n=6: k=1: k=2: | 0 1 2 +----------------------------+---+-----------------+-------------------+ EXT( cT.Wedge(3) , cO(1) ) | B6(0,0,0,0,0,0) 2*B6(0,0,0,0,0,0) k=3: | 0 1 2 +----------------------------+---+-----------------+-------------------+ EXT( cT.Wedge(3) , cO(1) ) | B6(1,0,0,0,0,0) 2*B6(1,0,0,0,0,0) k=4: | 0 1 2 +----------------------------+-----------------+-----------------------------------+-------------------------------------+ EXT( cT.Wedge(3) , cO(1) ) | B6(0,0,0,0,0,0) B6(0,0,0,0,0,0) + B6(0,1,0,0,0,0) 2*B6(0,1,0,0,0,0) + B6(0,0,1,0,0,0) k=5: | 0 1 2 +----------------------------+-----------------+-----------------------------------------------------+-------------------------------------+ EXT( cT.Wedge(3) , cO(1) ) | B6(1,0,0,0,0,0) B6(1,0,0,0,0,0) + B6(0,1,0,0,0,0) + B6(0,0,1,0,0,0) B6(0,1,0,0,0,0) + 2*B6(0,0,1,0,0,0) k=6: n=7: k=1: k=2: | 0 1 2 +----------------------------+---+-------------------+---------------------+ EXT( cT.Wedge(3) , cO(1) ) | B7(0,0,0,0,0,0,0) 2*B7(0,0,0,0,0,0,0) k=3: | 0 1 2 +----------------------------+---+-------------------+---------------------+ EXT( cT.Wedge(3) , cO(1) ) | B7(1,0,0,0,0,0,0) 2*B7(1,0,0,0,0,0,0) k=4: | 0 1 2 +----------------------------+-------------------+---------------------------------------+---------------------+ EXT( cT.Wedge(3) , cO(1) ) | B7(0,0,0,0,0,0,0) B7(0,0,0,0,0,0,0) + B7(0,1,0,0,0,0,0) 2*B7(0,1,0,0,0,0,0) k=5: | 0 1 2 +----------------------------+-------------------+---------------------------------------+-----------------------------------------+ EXT( cT.Wedge(3) , cO(1) ) | B7(1,0,0,0,0,0,0) B7(1,0,0,0,0,0,0) + B7(0,0,1,0,0,0,0) 2*B7(0,0,1,0,0,0,0) + B7(0,0,0,1,0,0,0) k=6: | 0 1 2 +----------------------------+-------------------+-----------------------------------------------------------+-----------------------------------------+ EXT( cT.Wedge(3) , cO(1) ) | B7(0,1,0,0,0,0,0) B7(0,1,0,0,0,0,0) + B7(0,0,1,0,0,0,0) + B7(0,0,0,1,0,0,0) B7(0,0,1,0,0,0,0) + 2*B7(0,0,0,1,0,0,0) k=7: n=8: k=1: k=2: | 0 1 2 +----------------------------+---+---------------------+-----------------------+ EXT( cT.Wedge(3) , cO(1) ) | B8(0,0,0,0,0,0,0,0) 2*B8(0,0,0,0,0,0,0,0) k=3: | 0 1 2 +----------------------------+---+---------------------+-----------------------+ EXT( cT.Wedge(3) , cO(1) ) | B8(1,0,0,0,0,0,0,0) 2*B8(1,0,0,0,0,0,0,0) k=4: | 0 1 2 +----------------------------+---------------------+-------------------------------------------+-----------------------+ EXT( cT.Wedge(3) , cO(1) ) | B8(0,0,0,0,0,0,0,0) B8(0,0,0,0,0,0,0,0) + B8(0,1,0,0,0,0,0,0) 2*B8(0,1,0,0,0,0,0,0) k=5: | 0 1 2 +----------------------------+---------------------+-------------------------------------------+-----------------------+ EXT( cT.Wedge(3) , cO(1) ) | B8(1,0,0,0,0,0,0,0) B8(1,0,0,0,0,0,0,0) + B8(0,0,1,0,0,0,0,0) 2*B8(0,0,1,0,0,0,0,0) k=6: | 0 1 2 +----------------------------+---------------------+-------------------------------------------+---------------------------------------------+ EXT( cT.Wedge(3) , cO(1) ) | B8(0,1,0,0,0,0,0,0) B8(0,1,0,0,0,0,0,0) + B8(0,0,0,1,0,0,0,0) 2*B8(0,0,0,1,0,0,0,0) + B8(0,0,0,0,1,0,0,0) k=7: | 0 1 2 +----------------------------+---------------------+-----------------------------------------------------------------+---------------------------------------------+ EXT( cT.Wedge(3) , cO(1) ) | B8(0,0,1,0,0,0,0,0) B8(0,0,1,0,0,0,0,0) + B8(0,0,0,1,0,0,0,0) + B8(0,0,0,0,1,0,0,0) B8(0,0,0,1,0,0,0,0) + 2*B8(0,0,0,0,1,0,0,0) k=8: n=9: k=1: k=2: | 0 1 2 +----------------------------+---+-----------------------+-------------------------+ EXT( cT.Wedge(3) , cO(1) ) | B9(0,0,0,0,0,0,0,0,0) 2*B9(0,0,0,0,0,0,0,0,0) k=3: | 0 1 2 +----------------------------+---+-----------------------+-------------------------+ EXT( cT.Wedge(3) , cO(1) ) | B9(1,0,0,0,0,0,0,0,0) 2*B9(1,0,0,0,0,0,0,0,0) k=4: | 0 1 2 +----------------------------+-----------------------+-----------------------------------------------+-------------------------+ EXT( cT.Wedge(3) , cO(1) ) | B9(0,0,0,0,0,0,0,0,0) B9(0,0,0,0,0,0,0,0,0) + B9(0,1,0,0,0,0,0,0,0) 2*B9(0,1,0,0,0,0,0,0,0) k=5: | 0 1 2 +----------------------------+-----------------------+-----------------------------------------------+-------------------------+ EXT( cT.Wedge(3) , cO(1) ) | B9(1,0,0,0,0,0,0,0,0) B9(1,0,0,0,0,0,0,0,0) + B9(0,0,1,0,0,0,0,0,0) 2*B9(0,0,1,0,0,0,0,0,0) k=6: | 0 1 2 +----------------------------+-----------------------+-----------------------------------------------+-------------------------+ EXT( cT.Wedge(3) , cO(1) ) | B9(0,1,0,0,0,0,0,0,0) B9(0,1,0,0,0,0,0,0,0) + B9(0,0,0,1,0,0,0,0,0) 2*B9(0,0,0,1,0,0,0,0,0) k=7: | 0 1 2 +----------------------------+-----------------------+-----------------------------------------------+-------------------------------------------------+ EXT( cT.Wedge(3) , cO(1) ) | B9(0,0,1,0,0,0,0,0,0) B9(0,0,1,0,0,0,0,0,0) + B9(0,0,0,0,1,0,0,0,0) 2*B9(0,0,0,0,1,0,0,0,0) + B9(0,0,0,0,0,1,0,0,0) k=8: | 0 1 2 +----------------------------+-----------------------+-----------------------------------------------------------------------+-------------------------------------------------+ EXT( cT.Wedge(3) , cO(1) ) | B9(0,0,0,1,0,0,0,0,0) B9(0,0,0,1,0,0,0,0,0) + B9(0,0,0,0,1,0,0,0,0) + B9(0,0,0,0,0,1,0,0,0) B9(0,0,0,0,1,0,0,0,0) + 2*B9(0,0,0,0,0,1,0,0,0) k=9: n=10: k=1: k=2: | 0 1 2 +----------------------------+---+--------------------------+----------------------------+ EXT( cT.Wedge(3) , cO(1) ) | B10(0,0,0,0,0,0,0,0,0,0) 2*B10(0,0,0,0,0,0,0,0,0,0) k=3: | 0 1 2 +----------------------------+---+--------------------------+----------------------------+ EXT( cT.Wedge(3) , cO(1) ) | B10(1,0,0,0,0,0,0,0,0,0) 2*B10(1,0,0,0,0,0,0,0,0,0) k=4: | 0 1 2 +----------------------------+--------------------------+-----------------------------------------------------+----------------------------+ EXT( cT.Wedge(3) , cO(1) ) | B10(0,0,0,0,0,0,0,0,0,0) B10(0,0,0,0,0,0,0,0,0,0) + B10(0,1,0,0,0,0,0,0,0,0) 2*B10(0,1,0,0,0,0,0,0,0,0) k=5: | 0 1 2 +----------------------------+--------------------------+-----------------------------------------------------+----------------------------+ EXT( cT.Wedge(3) , cO(1) ) | B10(1,0,0,0,0,0,0,0,0,0) B10(1,0,0,0,0,0,0,0,0,0) + B10(0,0,1,0,0,0,0,0,0,0) 2*B10(0,0,1,0,0,0,0,0,0,0) k=6: | 0 1 2 +----------------------------+--------------------------+-----------------------------------------------------+----------------------------+ EXT( cT.Wedge(3) , cO(1) ) | B10(0,1,0,0,0,0,0,0,0,0) B10(0,1,0,0,0,0,0,0,0,0) + B10(0,0,0,1,0,0,0,0,0,0) 2*B10(0,0,0,1,0,0,0,0,0,0) k=7: | 0 1 2 +----------------------------+--------------------------+-----------------------------------------------------+----------------------------+ EXT( cT.Wedge(3) , cO(1) ) | B10(0,0,1,0,0,0,0,0,0,0) B10(0,0,1,0,0,0,0,0,0,0) + B10(0,0,0,0,1,0,0,0,0,0) 2*B10(0,0,0,0,1,0,0,0,0,0) k=8: | 0 1 2 +----------------------------+--------------------------+-----------------------------------------------------+-------------------------------------------------------+ EXT( cT.Wedge(3) , cO(1) ) | B10(0,0,0,1,0,0,0,0,0,0) B10(0,0,0,1,0,0,0,0,0,0) + B10(0,0,0,0,0,1,0,0,0,0) 2*B10(0,0,0,0,0,1,0,0,0,0) + B10(0,0,0,0,0,0,1,0,0,0) k=9: | 0 1 2 +----------------------------+--------------------------+--------------------------------------------------------------------------------+-------------------------------------------------------+ EXT( cT.Wedge(3) , cO(1) ) | B10(0,0,0,0,1,0,0,0,0,0) B10(0,0,0,0,1,0,0,0,0,0) + B10(0,0,0,0,0,1,0,0,0,0) + B10(0,0,0,0,0,0,1,0,0,0) B10(0,0,0,0,0,1,0,0,0,0) + 2*B10(0,0,0,0,0,0,1,0,0,0) k=10:
class bcolors: HEADER = '\033[95m' OKBLUE = '\033[94m' OKCYAN = '\033[96m' OKGREEN = '\033[92m' WARNING = '\033[93m' FAIL = '\033[91m' ENDC = '\033[0m' BOLD = '\033[1m' UNDERLINE = '\033[4m' k = 3 for n in [ 4 .. 15 ] : N = 2*n+1 X = Orthogonal_Grassmannian(k,N) print( 'X:' , X ) print( '(n='+str(n)+')' ) G = X.Parent_Group() fw = X.Basis('fw') Store = { (1,2) : set({}) , (1,3) : set({}) , (2,3) : set({}) } for Counter1 , cE1 in enumerate( X.Tautological_Collection( Parts=[1] ).Starting_Block() , start=1 ) : for Counter2 , cE2 in enumerate( X.Tautological_Collection( Parts=[2] ).Starting_Block() , start=1 ) : Twists = [ 1 .. 2*n-4 ] for t in Twists : mu1 = cE1(t).Highest_Weight().to_ambient() mu2 = cE2.Highest_Weight().to_ambient() Bounds = { i : ( -mu1[3-i]+mu2[2] , -mu1[2]+mu2[i-1] ) for i in [ 1 , 2 , 3 ] } for Smd in cE1(t).Dual()*cE2 : if Smd.Is_Irreducible() : Summands = [ ( Smd , G.rmV(1) ) ] else : Summands = Smd.Summands() for VB , WCR in Summands : Highest_Weight = VB.Highest_Weight().to_ambient() for i , j in Store.keys() : Store[(i,j)].add( Highest_Weight[i-1]-Highest_Weight[j-1] ) print( sorted(Store[(1,2)]) , ' has upper bound '+str(2*n-6) ) print( sorted(Store[(1,3)]) , ' has upper bound '+str(floor(5/2*n-15/2)) ) print( sorted(Store[(2,3)]) , ' has upper bound '+str(ceil(3/2*n-9/2)) ) print()
X: Orthogonal grassmannian variety of 3-dimensional isotropic linear subspaces in a 9-dimensional ambient vector space. (n=4) [] has upper bound 2 [] has upper bound 2 [] has upper bound 2 X: Orthogonal grassmannian variety of 3-dimensional isotropic linear subspaces in a 11-dimensional ambient vector space. (n=5) [0, 1, 2, 3, 4] has upper bound 4 [1, 2, 3, 4, 5] has upper bound 5 [0, 1, 2, 3] has upper bound 3 X: Orthogonal grassmannian variety of 3-dimensional isotropic linear subspaces in a 13-dimensional ambient vector space. (n=6) [0, 1, 2, 3, 4, 5, 6] has upper bound 6 [1, 2, 3, 4, 5, 6, 7] has upper bound 7 [0, 1, 2, 3, 4, 5] has upper bound 5 X: Orthogonal grassmannian variety of 3-dimensional isotropic linear subspaces in a 15-dimensional ambient vector space. (n=7) [0, 1, 2, 3, 4, 5, 6, 7, 8] has upper bound 8 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] has upper bound 10 [0, 1, 2, 3, 4, 5, 6] has upper bound 6 X: Orthogonal grassmannian variety of 3-dimensional isotropic linear subspaces in a 17-dimensional ambient vector space. (n=8) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] has upper bound 10 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] has upper bound 12 [0, 1, 2, 3, 4, 5, 6, 7, 8] has upper bound 8 X: Orthogonal grassmannian variety of 3-dimensional isotropic linear subspaces in a 19-dimensional ambient vector space. (n=9) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] has upper bound 12 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] has upper bound 15 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] has upper bound 9 X: Orthogonal grassmannian variety of 3-dimensional isotropic linear subspaces in a 21-dimensional ambient vector space. (n=10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] has upper bound 14 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17] has upper bound 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] has upper bound 11 X: Orthogonal grassmannian variety of 3-dimensional isotropic linear subspaces in a 23-dimensional ambient vector space. (n=11) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16] has upper bound 16 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] has upper bound 20 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] has upper bound 12 X: Orthogonal grassmannian variety of 3-dimensional isotropic linear subspaces in a 25-dimensional ambient vector space. (n=12) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18] has upper bound 18 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] has upper bound 22 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] has upper bound 14 X: Orthogonal grassmannian variety of 3-dimensional isotropic linear subspaces in a 27-dimensional ambient vector space. (n=13) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] has upper bound 20 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25] has upper bound 25 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] has upper bound 15 X: Orthogonal grassmannian variety of 3-dimensional isotropic linear subspaces in a 29-dimensional ambient vector space. (n=14) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] has upper bound 22 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27] has upper bound 27 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17] has upper bound 17 X: Orthogonal grassmannian variety of 3-dimensional isotropic linear subspaces in a 31-dimensional ambient vector space. (n=15) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24] has upper bound 24 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30] has upper bound 30 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18] has upper bound 18
class bcolors: HEADER = '\033[95m' OKBLUE = '\033[94m' OKCYAN = '\033[96m' OKGREEN = '\033[92m' WARNING = '\033[93m' FAIL = '\033[91m' ENDC = '\033[0m' BOLD = '\033[1m' UNDERLINE = '\033[4m' k = 4 for n in [ k .. k+10 ] : N = 2*n+1 X = Orthogonal_Grassmannian(k,N) print( 'n:' , n ) print( 'X:' , X ) wMax = X.Fano_Index() print( 'Fano index = '+bcolors.OKBLUE+str( wMax )+bcolors.ENDC ) lMax = X.K0().rank() print( 'rk K_0(X) = '+bcolors.OKBLUE+str( lMax )+bcolors.ENDC ) fw = X.Basis('fw') # Tautological collection and spinor collection print( 3*' ' , 'Initialise the tautological collection and the spinor collection, namely LC=TC+SC. ...' ) LC = X.Tautological_Collection() + X.Spinor_Collection() LC_SupportPartition = tuple([ sum([ 1 for BlockEntry in Block if BlockEntry == True ])for BlockCounter , Block in LC.Support_Pattern().items() ]) print( 3*' ' , 'LC has support partition '+bcolors.OKBLUE+str(LC_SupportPartition)+bcolors.ENDC+' and therefore consists of '+bcolors.OKBLUE+str(len(LC))+bcolors.ENDC+' objects.' ) print() # Search for extensions of the spinor collection which can be merged to LC Universe = [] for Factor1 in [ X.calU(d*fw[1]) for d in [ 0 .. n-k+1 ] ] : for Factor2 in [ X.calU(fw[n]) , X.calU(fw[1]+fw[n]) , X.calU(fw[2]+fw[n]) ] : for Summand in ( Factor1 * Factor2 ).Irreducible_Components() : if not Summand in Universe : Universe += [ Summand ] print( 3*' ' , 'Test for objects which extend the spinor collection. ...' ) SC2 = X.Lefschetz_Collection( Starting_Block=[] , Support_Pattern='Trivial' ) ObjectCounter = 0 for l in [ 2 , 3 ] : for Keys in Subsets( range(len(Universe)) , l , submultiset=True ) : ObjectCounter += 1 Object = X.Zero_Vector_Bundle() for SummandPointer in Keys : Object += Universe[SummandPointer] if k == n : Object = Object(-1) Orbit = Object.Maximal_Numerically_Exceptional_Orbit() Orbit_Length = len( Orbit ) if 0 < Orbit_Length : #hw1 = Object.Highest_Weight() #hw2 = tuple([ hw1.to_ambient().coefficient(Node) for Node in range(k) ]) print( 6*' ' , '- ' , 'The object consisting of summands '+bcolors.OKBLUE+', '.join([ str(IrreducibleSummand) for IrreducibleSummand in Object.Irreducible_Components() ])+bcolors.ENDC+' '+ \ 'has orbit length ' , end='' ) if Orbit_Length < wMax : print( bcolors.OKCYAN+str(Orbit_Length)+bcolors.ENDC+'.' ) elif Orbit_Length == wMax : print( bcolors.OKGREEN+str(Orbit_Length)+bcolors.ENDC+'.' ) print( 6*' ' , ' ' , 'Test if the object can be attached to LC: ' ) Is_Object_Suitable = False for Column , Possible_Rows in LC.Test_For_Numerically_Exceptional_Proper_Extension( New_Object=Object , \ Relevant_Columns=set([ len(X.Tautological_Collection().Starting_Block()) .. LC.Width()]) , \ Test_If_Self_Is_Exceptional=False ) : print( 6*' ' , ' ' , 3*' ' , 'Column='+bcolors.OKBLUE+str(Column)+bcolors.ENDC+' -> Admissible rows: '+bcolors.OKBLUE+str(Possible_Rows)+bcolors.ENDC+'.' ) if len(Possible_Rows) == wMax : Is_Object_Suitable = True if Is_Object_Suitable == True : SC2 += Orbit print() print( 3*' ' , 'The extension of the spinor collection consits of the following objects:' ) if len(SC2) == 0 : print( 6*' ' , bcolors.FAIL+'Empty'+bcolors.ENDC+'.' ) else : for Counter , Object in enumerate( SC2.Starting_Block() , start=1 ) : print( 6*' ' , Counter , Object ) print() print( 3*' ' , 'It has the following non-admissible right-orthogonal relations:' ) GramMatrix = [] for x1 , Object1 in enumerate( SC2.Starting_Block() , start=1 ) : for x2 , Object2 in enumerate( SC2.Starting_Block() , start=1 ) : for y in [ 0 .. wMax-1 ] : if y == 0 : if x2 < x1 : if 0 < len( Object1.EXT( Object2 ) ) : print( 6*' ' , 'E_'+str(x1)+' is '+bcolors.FAIL+'NOT'+bcolors.ENDC+' right-orthogonal to '+'E_'+str(x2)+'.' ) elif x1 <= x2 : pass else : if 0 < len( Object1(y).EXT( Object2 ) ) : print( 6*' ' , 'E_'+str(x1)+'('+str(y)+') is '+bcolors.FAIL+'NOT'+bcolors.ENDC+' right-orthogonal to '+'E_'+str(x2)+'.' ) print()
n: 4 X: Orthogonal grassmannian variety of 4-dimensional isotropic linear subspaces in a 9-dimensional ambient vector space. Fano index = 8 rk K_0(X) = 16 Initialise the tautological collection and the spinor collection, namely LC=TC+SC. ... LC has support partition (1, 1, 1, 1, 1, 1, 1, 1) and therefore consists of 8 objects. Test for objects which extend the spinor collection. ... - The object consisting of summands VB(0), VB(Lambda[1]) has orbit length 8. Test if the object can be attached to LC: Column=1 -> Admissible rows: [0, 1, 2, 3, 4, 5, 6, 7]. - The object consisting of summands VB(0), VB(Lambda[1]), VB(Lambda[2]) has orbit length 8. Test if the object can be attached to LC: Column=1 -> Admissible rows: [0, 1, 2, 3, 4, 5, 6, 7]. - The object consisting of summands VB(0), VB(Lambda[1]), VB(2*Lambda[1]) has orbit length 2. Test if the object can be attached to LC: Column=1 -> Admissible rows: [0, 1]. The extension of the spinor collection consits of the following objects: 1 VB(0) + VB(Lambda[1]) 2 VB(0) + VB(Lambda[1]) + VB(Lambda[2]) It has the following non-admissible right-orthogonal relations: E_1(2) is NOT right-orthogonal to E_2. E_2 is NOT right-orthogonal to E_1. E_2(6) is NOT right-orthogonal to E_1. E_2(2) is NOT right-orthogonal to E_2. E_2(6) is NOT right-orthogonal to E_2. n: 5 X: Orthogonal grassmannian variety of 4-dimensional isotropic linear subspaces in a 11-dimensional ambient vector space. Fano index = 6 rk K_0(X) = 80 Initialise the tautological collection and the spinor collection, namely LC=TC+SC. ... LC has support partition (6, 6, 6, 6, 6, 6) and therefore consists of 36 objects. Test for objects which extend the spinor collection. ... - The object consisting of summands VB(Lambda[5]), VB(Lambda[1] + Lambda[5]) has orbit length 6. Test if the object can be attached to LC: Column=4 -> Admissible rows: []. Column=5 -> Admissible rows: []. Column=6 -> Admissible rows: []. - The object consisting of summands VB(Lambda[1] + Lambda[5]), VB(2*Lambda[1] + Lambda[5]) has orbit length 6. Test if the object can be attached to LC: Column=4 -> Admissible rows: []. Column=5 -> Admissible rows: []. Column=6 -> Admissible rows: [0, 1, 2, 3, 4, 5]. - The object consisting of summands VB(2*Lambda[1] + Lambda[5]), VB(3*Lambda[1] + Lambda[5]) has orbit length 6. Test if the object can be attached to LC: Column=4 -> Admissible rows: []. Column=5 -> Admissible rows: []. Column=6 -> Admissible rows: []. - The object consisting of summands VB(Lambda[5]), VB(Lambda[1] + Lambda[5]), VB(Lambda[2] + Lambda[5]) has orbit length 6. Test if the object can be attached to LC: Column=4 -> Admissible rows: []. Column=5 -> Admissible rows: []. Column=6 -> Admissible rows: [0, 1, 2, 3, 4, 5]. The extension of the spinor collection consits of the following objects: 1 VB(Lambda[1] + Lambda[5]) + VB(2*Lambda[1] + Lambda[5]) 2 VB(Lambda[5]) + VB(Lambda[1] + Lambda[5]) + VB(Lambda[2] + Lambda[5]) It has the following non-admissible right-orthogonal relations: E_2 is NOT right-orthogonal to E_1. n: 6 X: Orthogonal grassmannian variety of 4-dimensional isotropic linear subspaces in a 13-dimensional ambient vector space. Fano index = 8 rk K_0(X) = 240 Initialise the tautological collection and the spinor collection, namely LC=TC+SC. ... LC has support partition (17, 17, 17, 17, 17, 17, 17, 17) and therefore consists of 136 objects. Test for objects which extend the spinor collection. ... - The object consisting of summands VB(Lambda[6]), VB(Lambda[1] + Lambda[6]) has orbit length 8. Test if the object can be attached to LC: Column=16 -> Admissible rows: []. Column=17 -> Admissible rows: []. Column=14 -> Admissible rows: []. Column=15 -> Admissible rows: []. - The object consisting of summands VB(Lambda[1] + Lambda[6]), VB(2*Lambda[1] + Lambda[6]) has orbit length 8. Test if the object can be attached to LC: Column=16 -> Admissible rows: []. Column=17 -> Admissible rows: []. Column=14 -> Admissible rows: []. Column=15 -> Admissible rows: []. - The object consisting of summands VB(2*Lambda[1] + Lambda[6]), VB(3*Lambda[1] + Lambda[6]) has orbit length 8. Test if the object can be attached to LC: Column=16 -> Admissible rows: []. Column=17 -> Admissible rows: [0, 1, 2, 3, 4, 5, 6, 7]. Column=14 -> Admissible rows: []. Column=15 -> Admissible rows: []. - The object consisting of summands VB(3*Lambda[1] + Lambda[6]), VB(4*Lambda[1] + Lambda[6]) has orbit length 8. Test if the object can be attached to LC: Column=16 -> Admissible rows: []. Column=17 -> Admissible rows: []. Column=14 -> Admissible rows: []. Column=15 -> Admissible rows: []. - The object consisting of summands VB(Lambda[6]), VB(Lambda[1] + Lambda[6]), VB(Lambda[2] + Lambda[6]) has orbit length 8. Test if the object can be attached to LC: Column=16 -> Admissible rows: [0, 1, 2, 3, 4, 5, 6, 7]. Column=17 -> Admissible rows: [0, 1, 2, 3, 4, 5, 6, 7]. Column=14 -> Admissible rows: []. Column=15 -> Admissible rows: []. The extension of the spinor collection consits of the following objects: 1 VB(2*Lambda[1] + Lambda[6]) + VB(3*Lambda[1] + Lambda[6]) 2 VB(Lambda[6]) + VB(Lambda[1] + Lambda[6]) + VB(Lambda[2] + Lambda[6]) It has the following non-admissible right-orthogonal relations: E_2 is NOT right-orthogonal to E_1. n: 7 X: Orthogonal grassmannian variety of 4-dimensional isotropic linear subspaces in a 15-dimensional ambient vector space. Fano index = 10 rk K_0(X) = 560 Initialise the tautological collection and the spinor collection, namely LC=TC+SC. ... LC has support partition (30, 30, 30, 30, 30, 30, 30, 30, 30, 30) and therefore consists of 300 objects. Test for objects which extend the spinor collection. ... - The object consisting of summands VB(Lambda[7]), VB(Lambda[1] + Lambda[7]) has orbit length 10. Test if the object can be attached to LC: Column=26 -> Admissible rows: []. Column=27 -> Admissible rows: []. Column=28 -> Admissible rows: []. Column=29 -> Admissible rows: []. Column=30 -> Admissible rows: []. - The object consisting of summands VB(Lambda[1] + Lambda[7]), VB(2*Lambda[1] + Lambda[7]) has orbit length 10. Test if the object can be attached to LC: Column=26 -> Admissible rows: []. Column=27 -> Admissible rows: []. Column=28 -> Admissible rows: []. Column=29 -> Admissible rows: []. Column=30 -> Admissible rows: []. - The object consisting of summands VB(2*Lambda[1] + Lambda[7]), VB(3*Lambda[1] + Lambda[7]) has orbit length 10. Test if the object can be attached to LC: Column=26 -> Admissible rows: []. Column=27 -> Admissible rows: []. Column=28 -> Admissible rows: []. Column=29 -> Admissible rows: []. Column=30 -> Admissible rows: []. - The object consisting of summands VB(3*Lambda[1] + Lambda[7]), VB(4*Lambda[1] + Lambda[7]) has orbit length 10. Test if the object can be attached to LC: Column=26 -> Admissible rows: []. Column=27 -> Admissible rows: []. Column=28 -> Admissible rows: []. Column=29 -> Admissible rows: []. Column=30 -> Admissible rows: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]. - The object consisting of summands VB(4*Lambda[1] + Lambda[7]), VB(5*Lambda[1] + Lambda[7]) has orbit length 10. Test if the object can be attached to LC: Column=26 -> Admissible rows: []. Column=27 -> Admissible rows: []. Column=28 -> Admissible rows: []. Column=29 -> Admissible rows: []. Column=30 -> Admissible rows: []. - The object consisting of summands VB(Lambda[7]), VB(Lambda[1] + Lambda[7]), VB(Lambda[2] + Lambda[7]) has orbit length 10. Test if the object can be attached to LC: Column=26 -> Admissible rows: []. Column=27 -> Admissible rows: []. Column=28 -> Admissible rows: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]. Column=29 -> Admissible rows: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]. Column=30 -> Admissible rows: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9].