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: 1562
License: GPL3
Image: ubuntu2204
Kernel: SageMath 10.3
%run '/home/user/Equivariant_Vector_Bundles_On_Homogeneous_Varieties__0-0-1/src/Initialize.ipynb'
G = Irreducible_Cartan_Group( 'B' , 4 ) WCR = G.Weyl_Character_Ring() P = G.Maximal_Parabolic_Subgroup(3) X = G/P fw = X.Basis('fw') calQ = X.calU( fw[1] ).Extend_Equivariantly_By( X.calU( 2*fw[4] )(-1) ) calQ_Wedge2 = X.calU( fw[2] ).Extend_Equivariantly_By( X.calU( fw[1]+2*fw[4] )(-1) ).Extend_Equivariantly_By( X.calU( 2*fw[4] )(-1) ) # Wedge^2 calQ def A( x:int , y:int=1 ) -> Irreducible_Equivariant_Vector_Bundle : assert x in ZZ and 0 <= x , \ ValueError('The input for ``x`` must be non-negative integer.') assert y in ZZ and 0 <= x , \ ValueError('The input for ``y`` must be non-negative integer.') return X.calU( x*fw[1]+y*fw[X.Cartan_Degree()] )(1-y) E1 = X.calO() E2 = calQ E3 = X.calU().Dual() E4 = calQ_Wedge2.Extend_Equivariantly_By( X.calO() ) E5 = A(0) E6 = A(1).Extend_Equivariantly_By( A(0) ) E7 = A(2).Extend_Equivariantly_By( A(1) )
V1 = 2*G.rmV(fw[4]) + G.rmV(fw[1]+fw[4]) V_calU = G.rmV(fw[4]) V3 = G.rmV(fw[4]) V5 = 2*G.rmV(1) + G.rmV(fw[1]) + G.rmV(fw[2]) V6 = G.rmV(1) + G.rmV(fw[1]) print( 'Let A0 be the subcategory of D^b(X) generated by E1 , ... , E6.' ) print() C1 = X.Complex( { 0 : 'Kernel' , 1 : E1.Multiply_By( V1 ) , 2 : X.calU().Multiply_By( V_calU ) + E3.Multiply_By( V3 ) + E5.Multiply_By( V5 ) , 3 : E6.Multiply_By( V6 ) , 4 : E7 } ) print( 'Complex C1 describing mutation of E7 through subcategory < A0 > ' ) print( C1 ) print() for Degree , Numerical_Cohomology in C1.Numerical_Cohomology().items() : print( 'Degree='+str(Degree) , ':' , Numerical_Cohomology ) print() print( 'R1 = Semi-simplification of C1_0:') R1 = C1.SemiSimplification(0) print( R1 ) print() C2 = X.Complex( { 0 : 'Kernel' , 1 : E1.Multiply_By( V1 ) , 2 : X.calU().Multiply_By( V_calU ) + E5.Multiply_By( V5 ), 3 : E1(1).Multiply_By( V1 ) , 4 : X.calU()(1).Multiply_By( V_calU ) + E3(1).Multiply_By( V3 ) + E5(1).Multiply_By( V5 ) , 5 : E6(1).Multiply_By( V6 ) , 6 : E7(1) } ) print( 'Complex C2 describing mutation of E7(1) through subcategory < A0 , A0(1) > ' ) print( C2 ) print() for Degree , Numerical_Cohomology in C2.Numerical_Cohomology().items() : print( 'Degree='+str(Degree) , ':' , Numerical_Cohomology ) print() print( 'R2 = Semi-simplification of C2_0:') R2 = C2.SemiSimplification(0) print( R2 ) print() print( 'Gram matrix of the residual category:' ) Rows = [ [ R1.Euler_Sum(R1) , R1.Euler_Sum(R2) ] , [ R2.Euler_Sum(R1) , R2.Euler_Sum(R2) ] ] print( table( Rows , frame=True ) )
Let A0 be the subcategory of D^b(X) generated by E1 , ... , E6. Complex C1 describing mutation of E7 through subcategory < A0 > ... --d_-2--> 0 --d_-1--> Kernel --d_0--> ( 2*B4(0,0,0,1) + B4(1,0,0,1) ) * VB(0) --d_1--> B4(0,0,0,1) * VB(Lambda[2] - Lambda[3]) + B4(0,0,0,1) * VB(Lambda[1]) + ( 2*B4(0,0,0,0) + B4(1,0,0,0) + B4(0,1,0,0) ) * VB(Lambda[4]) --d_2--> Equivariant extension of ( B4(0,0,0,0) + B4(1,0,0,0) ) * VB(Lambda[1] + Lambda[4]) by ( B4(0,0,0,0) + B4(1,0,0,0) ) * VB(Lambda[4]) --d_3--> Equivariant extension of VB(2*Lambda[1] + Lambda[4]) by VB(Lambda[1] + Lambda[4]) --d_4--> 0 --d_5--> ... Degree=0 : 0 Degree=1 : 0 Degree=2 : 0 Degree=3 : 0 Degree=4 : 0 Degree=5 : 0 R1 = Semi-simplification of C1_0: VB(Lambda[2] - Lambda[3] + Lambda[4]) + VB(Lambda[1] - Lambda[3] + Lambda[4]) + 2*B4(0,0,0,0) * VB(-Lambda[3] + Lambda[4]) + VB(Lambda[1] - 2*Lambda[3] + 3*Lambda[4]) + VB(-2*Lambda[3] + 3*Lambda[4]) Complex C2 describing mutation of E7(1) through subcategory < A0 , A0(1) > ... --d_-2--> 0 --d_-1--> Kernel --d_0--> ( 2*B4(0,0,0,1) + B4(1,0,0,1) ) * VB(0) --d_1--> B4(0,0,0,1) * VB(Lambda[2] - Lambda[3]) + ( 2*B4(0,0,0,0) + B4(1,0,0,0) + B4(0,1,0,0) ) * VB(Lambda[4]) --d_2--> ( 2*B4(0,0,0,1) + B4(1,0,0,1) ) * VB(Lambda[3]) --d_3--> B4(0,0,0,1) * VB(Lambda[2]) + B4(0,0,0,1) * VB(Lambda[1] + Lambda[3]) + ( 2*B4(0,0,0,0) + B4(1,0,0,0) + B4(0,1,0,0) ) * VB(Lambda[3] + Lambda[4]) --d_4--> Equivariant extension of ( B4(0,0,0,0) + B4(1,0,0,0) ) * VB(Lambda[1] + Lambda[3] + Lambda[4]) by ( B4(0,0,0,0) + B4(1,0,0,0) ) * VB(Lambda[3] + Lambda[4]) --d_5--> Equivariant extension of VB(2*Lambda[1] + Lambda[3] + Lambda[4]) by VB(Lambda[1] + Lambda[3] + Lambda[4]) --d_6--> 0 --d_7--> ... Degree=0 : 0 Degree=1 : 0 Degree=2 : 0 Degree=3 : 0 Degree=4 : 0 Degree=5 : 0 Degree=6 : 0 Degree=7 : 0 R2 = Semi-simplification of C2_0: 2*B4(0,0,0,0) * VB(Lambda[1] - Lambda[3] + Lambda[4]) + 2*B4(0,0,0,0) * VB(-Lambda[3] + Lambda[4]) + VB(Lambda[2] - Lambda[3] + Lambda[4]) + VB(2*Lambda[1] - Lambda[3] + Lambda[4]) + VB(Lambda[1] - 2*Lambda[3] + 3*Lambda[4]) + VB(-2*Lambda[3] + 3*Lambda[4]) Gram matrix of the residual category: +-------------+-------------+ | B4(0,0,0,0) | B4(0,0,0,0) | +-------------+-------------+ | 0 | B4(0,0,0,0) | +-------------+-------------+
C = X.Complex( [ 'Kernel' , E6(4).Multiply_By( G.rmV(fw[4]) ) , E1(5) ] ) print( 'Complex C describing left mutation of E7(1) through subcategory cD = < A0 , A1(1) , ... , A4(4) > ' ) print( C ) print() for Degree , Numerical_Cohomology in C.Numerical_Cohomology().items() : print( 'Degree='+str(Degree) , ':' , Numerical_Cohomology ) print() print( 'Semi-simplification of C_0:') print( C.SemiSimplification(0) )
Complex C describing left mutation of E7(1) through subcategory cD = < A0 , A1(1) , ... , A4(4) > ... --d_-2--> 0 --d_-1--> Kernel --d_0--> Equivariant extension of B4(0,0,0,1) * VB(Lambda[1] + 4*Lambda[3] + Lambda[4]) by B4(0,0,0,1) * VB(4*Lambda[3] + Lambda[4]) --d_1--> VB(5*Lambda[3]) --d_2--> 0 --d_3--> ... Degree=0 : 0 Degree=1 : 0 Degree=2 : 0 Degree=3 : 0 Semi-simplification of C_0: VB(5*Lambda[3]) + VB(Lambda[1] + Lambda[2] + 3*Lambda[3] + 2*Lambda[4]) + VB(Lambda[1] + Lambda[2] + 4*Lambda[3]) + 2*B4(0,0,0,0) * VB(4*Lambda[3] + 2*Lambda[4]) + VB(2*Lambda[1] + 3*Lambda[3] + 2*Lambda[4]) + VB(2*Lambda[1] + 4*Lambda[3]) + 2*B4(0,0,0,0) * VB(Lambda[2] + 3*Lambda[3] + 2*Lambda[4]) + 2*B4(0,0,0,0) * VB(Lambda[2] + 4*Lambda[3]) + VB(Lambda[1] + 4*Lambda[3] + 2*Lambda[4]) + VB(Lambda[1] + 5*Lambda[3]) + 2*B4(0,0,0,0) * VB(Lambda[1] + 3*Lambda[3] + 2*Lambda[4]) + 2*B4(0,0,0,0) * VB(Lambda[1] + 4*Lambda[3]) + VB(3*Lambda[3] + 2*Lambda[4]) + VB(4*Lambda[3])
M = E4(4) Result = X.Parent_Group().Weyl_Character_Ring()(0) for Degree , Object in C : if type(Object) != str : Result += (-1)^Degree * M.Euler_Sum(Object) print( Result )
-2*B4(0,0,0,0) - 2*B4(1,0,0,0) - 3*B4(0,1,0,0) - 2*B4(0,0,1,0) - 2*B4(0,0,0,2) - B4(2,0,0,0) - B4(1,1,0,0) - B4(1,0,1,0) - B4(1,0,0,2)