Environment to perform calculations of equivariant vector bundles on homogeneous varieties
Equivariant_Vector_Bundles_On_Homogeneous_Varieties__0-2 / tests / fullness_for_OG-3-09 / Extension_of_E(5)_by_E.ipynb
1842 viewsLicense: GPL3
ubuntu2204
Kernel: SageMath 9.8
In [3]:
In [4]:
Out[4]:
X: Orthogonal grassmannian variety of 3-dimensional isotropic linear subspaces in a 9-dimensional ambient vector space.
(n=4)
Initialise suitable objects:
- Repesentations
- Tautological bundles
- Spinor bundles
- Mysterious object
Initialise Lefschetz collection:
0 VB(0)
1 VB(Lambda[1])
2 Equivariant extension of VB(Lambda[1] - Lambda[3] + 2*Lambda[4]) + VB(Lambda[2]) + VB(-Lambda[3] + 2*Lambda[4]) by VB(0)
3 VB(Lambda[2])
4 VB(Lambda[4])
5 Equivariant extension of VB(Lambda[1] + Lambda[4]) by VB(Lambda[4])
6 Equivariant extension of VB(2*Lambda[1] + Lambda[4]) by VB(Lambda[1] + Lambda[4])
In [5]:
In [0]:
In [14]:
Out[14]:
On the sequence 0 -> cE -> ... -> cE(l) -> 0 whenever cE is from the starting block of the tautological collection
------------------------------------------------------------------------------------------------------------------------------------------------------
cE = VB(0) with l = 5
(t=1)
Initialise the left side.
Initialise the right side.
Construction of A´s:
Counter=1:
Complex:
... --d_-6--> 0 --d_-5--> VB(0) --d_-4--> B4(1,0,0,0) * VB(Lambda[1]) --d_-3--> ( B4(0,0,0,0) + B4(2,0,0,0) ) * VB(Lambda[2]) --d_-2--> ( B4(1,0,0,0) + B4(3,0,0,0) ) * VB(Lambda[3]) --d_-1--> Cokernel --d_0--> 0 --d_1--> ...
Is complex numerically exact? Yes.
Counter=2:
Complex:
... --d_-4--> 0 --d_-3--> VB(3*Lambda[1] + Lambda[3]) + VB(2*Lambda[1] + 2*Lambda[4]) + VB(Lambda[1] - Lambda[3] + 4*Lambda[4]) + VB(Lambda[1] + Lambda[3]) + VB(-2*Lambda[3] + 6*Lambda[4]) + VB(2*Lambda[4]) --d_-2--> B4(0,0,0,2) * VB(3*Lambda[1] + 2*Lambda[3]) + B4(0,0,0,2) * VB(2*Lambda[1] + Lambda[3] + 2*Lambda[4]) + B4(0,0,0,2) * VB(Lambda[1] + 4*Lambda[4]) + B4(0,0,0,2) * VB(Lambda[1] + 2*Lambda[3]) + B4(0,0,0,2) * VB(-Lambda[3] + 6*Lambda[4]) + B4(0,0,0,2) * VB(Lambda[3] + 2*Lambda[4]) --d_-1--> Cokernel --d_0--> 0 --d_1--> ...
Is complex numerically exact? Yes.
Construction of B´s:
Counter=-1:
Complex:
... --d_-2--> 0 --d_-1--> Kernel --d_0--> B4(1,0,0,0) * VB(2*Lambda[2] + 2*Lambda[3]) + B4(1,0,0,0) * VB(Lambda[2] + 2*Lambda[3] + 2*Lambda[4]) + B4(1,0,0,0) * VB(2*Lambda[3] + 4*Lambda[4]) + B4(1,0,0,0) * VB(4*Lambda[3]) --d_1--> B4(0,1,0,0) * VB(Lambda[2] + 3*Lambda[3]) + B4(0,1,0,0) * VB(3*Lambda[3] + 2*Lambda[4]) --d_2--> B4(0,0,1,0) * VB(4*Lambda[3]) --d_3--> VB(5*Lambda[3]) --d_4--> 0 --d_5--> ...
Is complex numerically exact? Yes.
Counter=-2:
Complex:
... --d_-2--> 0 --d_-1--> Kernel --d_0--> B4(0,0,0,2) * VB(2*Lambda[2] + Lambda[3]) + B4(0,0,0,2) * VB(Lambda[2] + Lambda[3] + 2*Lambda[4]) + B4(0,0,0,2) * VB(Lambda[3] + 4*Lambda[4]) + B4(0,0,0,2) * VB(3*Lambda[3]) --d_1--> VB(3*Lambda[2] + Lambda[3]) + VB(2*Lambda[2] + Lambda[3] + 2*Lambda[4]) + VB(Lambda[2] + Lambda[3] + 4*Lambda[4]) + VB(Lambda[2] + 3*Lambda[3]) + VB(Lambda[3] + 6*Lambda[4]) + VB(3*Lambda[3] + 2*Lambda[4]) --d_2--> 0 --d_3--> ...
Is complex numerically exact? Yes.
Compute EXTs from B[-1][*] to A[1][*]:
Objects:
B[-1][0] = Kernel
B[-1][1] = B4(1,0,0,0) * VB(2*Lambda[2] + 2*Lambda[3]) + B4(1,0,0,0) * VB(Lambda[2] + 2*Lambda[3] + 2*Lambda[4]) + B4(1,0,0,0) * VB(2*Lambda[3] + 4*Lambda[4]) + B4(1,0,0,0) * VB(4*Lambda[3])
B[-1][2] = B4(0,1,0,0) * VB(Lambda[2] + 3*Lambda[3]) + B4(0,1,0,0) * VB(3*Lambda[3] + 2*Lambda[4])
B[-1][3] = B4(0,0,1,0) * VB(4*Lambda[3])
B[-1][4] = VB(5*Lambda[3])
A[1][-4] = VB(0)
A[1][-3] = B4(1,0,0,0) * VB(Lambda[1])
A[1][-2] = ( B4(0,0,0,0) + B4(2,0,0,0) ) * VB(Lambda[2])
A[1][-1] = ( B4(1,0,0,0) + B4(3,0,0,0) ) * VB(Lambda[3])
A[1][0] = Cokernel
Compute EXTs from B[-1][*] to A[2][*]:
Objects:
B[-1][0] = Kernel
B[-1][1] = B4(1,0,0,0) * VB(2*Lambda[2] + 2*Lambda[3]) + B4(1,0,0,0) * VB(Lambda[2] + 2*Lambda[3] + 2*Lambda[4]) + B4(1,0,0,0) * VB(2*Lambda[3] + 4*Lambda[4]) + B4(1,0,0,0) * VB(4*Lambda[3])
B[-1][2] = B4(0,1,0,0) * VB(Lambda[2] + 3*Lambda[3]) + B4(0,1,0,0) * VB(3*Lambda[3] + 2*Lambda[4])
B[-1][3] = B4(0,0,1,0) * VB(4*Lambda[3])
B[-1][4] = VB(5*Lambda[3])
A[2][-2] = VB(3*Lambda[1] + Lambda[3]) + VB(2*Lambda[1] + 2*Lambda[4]) + VB(Lambda[1] - Lambda[3] + 4*Lambda[4]) + VB(Lambda[1] + Lambda[3]) + VB(-2*Lambda[3] + 6*Lambda[4]) + VB(2*Lambda[4])
A[2][-1] = B4(0,0,0,2) * VB(3*Lambda[1] + 2*Lambda[3]) + B4(0,0,0,2) * VB(2*Lambda[1] + Lambda[3] + 2*Lambda[4]) + B4(0,0,0,2) * VB(Lambda[1] + 4*Lambda[4]) + B4(0,0,0,2) * VB(Lambda[1] + 2*Lambda[3]) + B4(0,0,0,2) * VB(-Lambda[3] + 6*Lambda[4]) + B4(0,0,0,2) * VB(Lambda[3] + 2*Lambda[4])
A[2][0] = Cokernel
Compute EXTs from B[-2][*] to A[1][*]:
Objects:
B[-2][0] = Kernel
B[-2][1] = B4(0,0,0,2) * VB(2*Lambda[2] + Lambda[3]) + B4(0,0,0,2) * VB(Lambda[2] + Lambda[3] + 2*Lambda[4]) + B4(0,0,0,2) * VB(Lambda[3] + 4*Lambda[4]) + B4(0,0,0,2) * VB(3*Lambda[3])
B[-2][2] = VB(3*Lambda[2] + Lambda[3]) + VB(2*Lambda[2] + Lambda[3] + 2*Lambda[4]) + VB(Lambda[2] + Lambda[3] + 4*Lambda[4]) + VB(Lambda[2] + 3*Lambda[3]) + VB(Lambda[3] + 6*Lambda[4]) + VB(3*Lambda[3] + 2*Lambda[4])
A[1][-4] = VB(0)
A[1][-3] = B4(1,0,0,0) * VB(Lambda[1])
A[1][-2] = ( B4(0,0,0,0) + B4(2,0,0,0) ) * VB(Lambda[2])
A[1][-1] = ( B4(1,0,0,0) + B4(3,0,0,0) ) * VB(Lambda[3])
A[1][0] = Cokernel
Compute EXTs from B[-2][*] to A[2][*]:
Objects:
B[-2][0] = Kernel
B[-2][1] = B4(0,0,0,2) * VB(2*Lambda[2] + Lambda[3]) + B4(0,0,0,2) * VB(Lambda[2] + Lambda[3] + 2*Lambda[4]) + B4(0,0,0,2) * VB(Lambda[3] + 4*Lambda[4]) + B4(0,0,0,2) * VB(3*Lambda[3])
B[-2][2] = VB(3*Lambda[2] + Lambda[3]) + VB(2*Lambda[2] + Lambda[3] + 2*Lambda[4]) + VB(Lambda[2] + Lambda[3] + 4*Lambda[4]) + VB(Lambda[2] + 3*Lambda[3]) + VB(Lambda[3] + 6*Lambda[4]) + VB(3*Lambda[3] + 2*Lambda[4])
A[2][-2] = VB(3*Lambda[1] + Lambda[3]) + VB(2*Lambda[1] + 2*Lambda[4]) + VB(Lambda[1] - Lambda[3] + 4*Lambda[4]) + VB(Lambda[1] + Lambda[3]) + VB(-2*Lambda[3] + 6*Lambda[4]) + VB(2*Lambda[4])
A[2][-1] = B4(0,0,0,2) * VB(3*Lambda[1] + 2*Lambda[3]) + B4(0,0,0,2) * VB(2*Lambda[1] + Lambda[3] + 2*Lambda[4]) + B4(0,0,0,2) * VB(Lambda[1] + 4*Lambda[4]) + B4(0,0,0,2) * VB(Lambda[1] + 2*Lambda[3]) + B4(0,0,0,2) * VB(-Lambda[3] + 6*Lambda[4]) + B4(0,0,0,2) * VB(Lambda[3] + 2*Lambda[4])
A[2][0] = Cokernel
In [0]:
In [29]:
Out[29]:
On the sequence 0 -> cE -> ... -> cE(l) -> 0 whenever cE is from the starting block of the spinor collection
------------------------------------------------------------------------------------------------------------------------------------------------------
cE = VB(Lambda[4]) with l = 5
(t=1)
Initialise the left side.
Initialise the right side.
Construction of A´s:
Counter=1:
Complex:
... --d_-3--> 0 --d_-2--> VB(Lambda[4]) --d_-1--> Cokernel --d_0--> 0 --d_1--> ...
Is complex numerically exact? Yes.
Construction of B´s:
Counter=-1:
Complex:
... --d_-2--> 0 --d_-1--> Kernel --d_0--> B4(0,0,1,1) * VB(4*Lambda[3]) --d_1--> VB(5*Lambda[3] + Lambda[4]) --d_2--> 0 --d_3--> ...
Is complex numerically exact? Yes.
Compute EXTs from B[-1][*] to A[1][*]:
Objects:
B[-1][0] = Kernel
B[-1][1] = B4(0,0,1,1) * VB(4*Lambda[3])
B[-1][2] = VB(5*Lambda[3] + Lambda[4])
A[1][-1] = VB(Lambda[4])
A[1][0] = Cokernel
------------------------------------------------------------------------------------------------------------------------------------------------------
cE = Equivariant extension of VB(Lambda[1] + Lambda[4]) by VB(Lambda[4]) with l = 5
(t=1)
Initialise the left side.
Initialise the right side.
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
Cell In [29], line 53
48 Objects = dict({})
49 Objects.update({ Integer(0) : 'Kernel' ,
50 Integer(1) : cO(Integer(4)) * cE(Integer(1)).Cohomology()[Integer(0)] ,
51 Integer(2) : cE(Integer(5))
52 })
---> 53 cB.update({ -Integer(1) : X.Complex( Objects ) })
54 elif y == Integer(2) :
55 Objects = dict({})
File /tmp/ipykernel_30382/1270618750.py:261
, in Irreducible_Homogeneous_Variety.Complex(self, Objects)
259 def Complex ( self , Objects ) -> "Complex_Over_Irreducible_Homogeneous_Variety" :
260 """Returns a complex of equivariant vector bundles over ``self``."""
--> 261 return Complex_Of_Coherent_Sheaves( Base_Space=self , Objects=Objects )
File /tmp/ipykernel_30382/1415231974.py:47
, in Complex_Of_Coherent_Sheaves.__init__(self, Base_Space, Objects)
45 if not Current_Degree in self._Numerical_Cohomology.keys() :
46 Numerical_Kernel_In_Previous_Degree , Numerical_Image_In_Previous_Degree = self.Decompose_Differential_Numerically(Current_Degree-Integer(1))
---> 47 Numerical_Kernel_In_Current_Degree , Numerical_Image_In_Current_Degree = self.Decompose_Differential_Numerically(Current_Degree)
48 if Numerical_Image_In_Previous_Degree in Numerical_Kernel_In_Current_Degree :
49 Numerical_Cohomology_Group = Numerical_Kernel_In_Current_Degree - Numerical_Image_In_Previous_Degree
File /tmp/ipykernel_30382/1415231974.py:90
, in Complex_Of_Coherent_Sheaves.Decompose_Differential_Numerically(self, Degree)
87 Numerical_Image_In_Current_Degree = Domain - Numerical_Kernel_In_Current_Degree
89 elif Current_Object == 'Kernel' :
---> 90 Numerical_Kernel_In_Subsequent_Degree , Numerical_Image_In_Subsequent_Degree = self.Decompose_Differential_Numerically( Degree+Integer(1) )
91 Numerical_Kernel_In_Current_Degree = self.Zero_Object()
92 Numerical_Image_In_Current_Degree = Numerical_Kernel_In_Subsequent_Degree
File /tmp/ipykernel_30382/1415231974.py:83
, in Complex_Of_Coherent_Sheaves.Decompose_Differential_Numerically(self, Degree)
81 else :
82 Domain = self.Zero_Object()
---> 83 for Summand in Current_Object.Irreducible_Components() :
84 Domain += Summand
85 Numerical_Kernel_In_Subsequent_Degree , Numerical_Image_In_Subsequent_Degree = self.Decompose_Differential_Numerically( Degree+Integer(1) )
File /tmp/ipykernel_30382/3374629093.py:329
, in Direct_Sum_Of_Equivariant_Vector_Bundles.Irreducible_Components(self)
327 for Counter in (ellipsis_range( Integer(1) ,Ellipsis, Multiplicity )) :
328 rk_2 = self.Base_Space().calU( Weight ).Rank()
--> 329 Dict[rk_2].remove(Weight)
ValueError: list.remove(x): x not in list
In [0]:
In [50]:
Out[50]:
Smd: B4(0,0,1,1) * VB(4*Lambda[3])
Smd: B4(1,0,1,1) * VB(4*Lambda[3])
( B4(0,0,1,1) + B4(1,0,1,1) ) * VB(4*Lambda[3])
-B4(0,0,0,0) * VB(Lambda[1] + 5*Lambda[3] + Lambda[4])
-B4(0,0,0,0) * VB(5*Lambda[3] + Lambda[4])
In [0]:
In [0]:
In [0]:
In [0]:
In [0]:
In [0]: