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 = 6 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 13-dimensional ambient vector space. (n=6) Dimension: 24 Rank of K0(X) (max. collection length): 160 Fano index (max. orbit length): 9 Consecutive Lefschetz collection. Starting block: 1 cO 2 cUˇ 3 (Ʌ^2 cUˇ) 4 VB(2*Lambda[1]) 5 VB(Lambda[1] + Lambda[2]) 6 VB(2*Lambda[2]) 7 VB(3*Lambda[1]) 8 VB(2*Lambda[1] + Lambda[2]) 9 VB(Lambda[1] + 2*Lambda[2]) 10 VB(3*Lambda[2]) 11 VB(3*Lambda[1] + Lambda[2]) 12 VB(2*Lambda[1] + 2*Lambda[2]) 13 cS 14 Equivariant extension of VB(Lambda[1] + Lambda[6]) by cS 15 Equivariant extension of VB(2*Lambda[1] + Lambda[6]) by VB(Lambda[1] + Lambda[6]) 16 Equivariant extension of VB(3*Lambda[1] + Lambda[6]) by VB(2*Lambda[1] + Lambda[6]) 17 Equivariant extension of VB(4*Lambda[1] + Lambda[6]) by VB(3*Lambda[1] + Lambda[6]) Alternating Lefschetz collection. Starting block: 1 cO 2 cS 3 cUˇ 4 (Ʌ^2 cUˇ) 5 Equivariant extension of VB(Lambda[1] + Lambda[6]) by cS 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[6]) by VB(Lambda[1] + Lambda[6]) 10 VB(3*Lambda[1]) 11 VB(2*Lambda[1] + Lambda[2]) 12 VB(Lambda[1] + 2*Lambda[2]) 13 VB(3*Lambda[2]) 14 Equivariant extension of VB(3*Lambda[1] + Lambda[6]) by VB(2*Lambda[1] + Lambda[6]) 15 VB(3*Lambda[1] + Lambda[2]) 16 VB(2*Lambda[1] + 2*Lambda[2]) 17 Equivariant extension of VB(4*Lambda[1] + Lambda[6]) by VB(3*Lambda[1] + Lambda[6])
p = 4 Stock = { -p-1+i : X.calU().Symmetric_Power(p-i) * G.rmV( fw[1] ).exterior_power(i) for i in [ 0 .. p ] } Stock.update({ 0 : 'Cokernel' }) Cplx = X.Complex(Stock) A = Cplx.SemiSimplification(0) p = 2 Stock = { -p-1+i : X.calU().Symmetric_Power(p-i) * G.rmV( fw[1] ).exterior_power(i) for i in [ 0 .. p ] } Stock.update({ 0 : 'Cokernel' }) Cplx = X.Complex(Stock) B = Cplx.SemiSimplification(0) cM = A.Extend_Equivariantly_By( B.Extend_Equivariantly_By( X.calO() ) ) #print( cM.Is_Exceptional( Test_Numerically=True ) ) #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() # Relevant_Columns={ len(LC.Starting_Block()) } 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()
cM has semi-simplification Equivariant [1, 2]-extension of VB(Lambda[1] + 2*Lambda[6])(-1) + VB(Lambda[2] + Lambda[5])(-1) + VB(2*Lambda[6])(-1) + VB(Lambda[4]) by [ VB(Lambda[1] + Lambda[4])(-1) + VB(Lambda[5])(-1) + (Ʌ^2 cUˇ) , cO ]. 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.
--------------------------------------------------------------------------- KeyboardInterrupt Traceback (most recent call last)
File ~/Equivariant_Vector_Bundles_On_Homogeneous_Varieties__0-2/src/Equivariant_Vector_Bundles_On_Homogeneous_Varieties/Overlying_Structure/Equivariant_Vector_Bundle.py:191, in Equivariant_Vector_Bundle.EXT(self, other, *p) 190 try : --> 191 return ( E1.Dual() * E2 ).Cohomology( *p ) 192 except :
File ~/Equivariant_Vector_Bundles_On_Homogeneous_Varieties__0-2/src/Equivariant_Vector_Bundles_On_Homogeneous_Varieties/Overlying_Structure/Equivariant_Vector_Bundle.py:1055, in Direct_Sum_Of_Equivariant_Vector_Bundles.Dual(self) 1053 """Returns the dual of ``self``.""" 1054 return self.__class__( Base_Space=self.Base_Space() , -> 1055 Summands=[ ( Vector_Bundle.Dual() , Multiplicity ) for Vector_Bundle , Multiplicity in self.Summands() ] 1056 )
File ~/Equivariant_Vector_Bundles_On_Homogeneous_Varieties__0-2/src/Equivariant_Vector_Bundles_On_Homogeneous_Varieties/Overlying_Structure/Equivariant_Vector_Bundle.py:1055, in <listcomp>(.0) 1053 """Returns the dual of ``self``.""" 1054 return self.__class__( Base_Space=self.Base_Space() , -> 1055 Summands=[ ( Vector_Bundle.Dual() , Multiplicity ) for Vector_Bundle , Multiplicity in self.Summands() ] 1056 )
File ~/Equivariant_Vector_Bundles_On_Homogeneous_Varieties__0-2/src/Equivariant_Vector_Bundles_On_Homogeneous_Varieties/Overlying_Structure/Equivariant_Vector_Bundle.py:616, in Irreducible_Equivariant_Vector_Bundle.Dual(self) 615 # 4. Collect all coefficients supported over the included nodes (Note: Basis A and B coincide over the included nodes.) --> 616 mx = self.Base_Space().Basis('mx') 617 Dual_Levi_HW = _sage_const_0 *mx[_sage_const_1 ]
File ~/Equivariant_Vector_Bundles_On_Homogeneous_Varieties__0-2/src/Equivariant_Vector_Bundles_On_Homogeneous_Varieties/Base_Space/Homogeneous_Variety.py:100, in Irreducible_Homogeneous_Variety.Basis(self, Label) 99 if Node in self.Parabolic_Subgroup().Included_Nodes() : Element = self.Parent_Group().Cartan_Type().root_system().weight_space().simple_root(Node) --> 100 elif Node in self.Parabolic_Subgroup().Excluded_Nodes() : Element = self.Parent_Group().Cartan_Type().root_system().weight_space().fundamental_weight(Node) 101 else : raise ValueError('Plausibility? The set of nodes subdivides into the disjoint union of marked ones and excluded ones.')
File src/cysignals/signals.pyx:341, in cysignals.signals.python_check_interrupt()
KeyboardInterrupt: During handling of the above exception, another exception occurred: KeyboardInterrupt Traceback (most recent call last) Cell In[15], line 33 30 print() 32 # Relevant_Columns={ len(LC.Starting_Block()) } ---> 33 for xPos , Admissible_Columns in LC.Test_For_Extension ( New_Object=cM , Test_Numerically=True , Test_If_Self_Is_Exceptional=False ) : 34 if Integer(0) < len(Admissible_Columns) : print( Integer(6)*' ' , bcolors.OKGREEN+'Yes'+bcolors.ENDC+' after row '+str(xPos)+' to the columns '+bcolors.OKBLUE+str(Admissible_Columns)+bcolors.ENDC+'.' ) 35 else : print( Integer(6)*' ' , bcolors.FAIL+'Not'+bcolors.ENDC+' after row '+str(xPos)+'.' )
File ~/Equivariant_Vector_Bundles_On_Homogeneous_Varieties__0-2/src/Equivariant_Vector_Bundles_On_Homogeneous_Varieties/Overlying_Structure/Lefschetz_Collection.py:594, in Lefschetz_Collection.Test_For_Extension(self, New_Object, Relevant_Columns, Test_Numerically, Test_If_Self_Is_Exceptional) 590 return True 592 for Tested_xPos in Relevant_Columns : 593 #Already_Tested = dict({}) --> 594 yield ( Tested_xPos , [ Tested_yPos for Tested_yPos in range(len(New_Orbit)) if Test_For( Tested_xPos , Tested_yPos ) ] )
File ~/Equivariant_Vector_Bundles_On_Homogeneous_Varieties__0-2/src/Equivariant_Vector_Bundles_On_Homogeneous_Varieties/Overlying_Structure/Lefschetz_Collection.py:594, in <listcomp>(.0) 590 return True 592 for Tested_xPos in Relevant_Columns : 593 #Already_Tested = dict({}) --> 594 yield ( Tested_xPos , [ Tested_yPos for Tested_yPos in range(len(New_Orbit)) if Test_For( Tested_xPos , Tested_yPos ) ] )
File ~/Equivariant_Vector_Bundles_On_Homogeneous_Varieties__0-2/src/Equivariant_Vector_Bundles_On_Homogeneous_Varieties/Overlying_Structure/Lefschetz_Collection.py:585, in Lefschetz_Collection.Test_For_Extension.<locals>.Test_For(xPos1, yPos1) 581 #if not xPos2 in Already_Tested.keys() : Already_Tested.update({ xPos2 : ( set({}) , set({}) ) }) 582 if yPos2 < yPos1 or ( yPos2 == yPos1 and xPos2 < xPos1 ) : 583 #if not yPos1-yPos2 in Already_Tested[xPos2][0] : 584 # Already_Tested[xPos2][0].add( yPos1-yPos2 ) --> 585 if not next( Object1.Is_SemiOrthogonal_To( Object2 , Test_Numerically=Test_Numerically ) ) : return False 586 else : 587 #if not yPos2-yPos1 in Already_Tested[xPos2][1] : 588 # Already_Tested[xPos2][1].add( yPos2-yPos1 ) 589 if not next( Object2.Is_SemiOrthogonal_To( Object1 , Test_Numerically=Test_Numerically ) ) : return False
File ~/Equivariant_Vector_Bundles_On_Homogeneous_Varieties__0-2/src/Equivariant_Vector_Bundles_On_Homogeneous_Varieties/Overlying_Structure/Equivariant_Vector_Bundle.py:282, in Equivariant_Vector_Bundle.Is_SemiOrthogonal_To(self, others, Test_Numerically) 279 else : yield False 281 elif Test_Numerically == True : --> 282 if self.Euler_Sum( other ) == WCR(_sage_const_0 ) : yield True 283 else : yield False 285 else :
File ~/Equivariant_Vector_Bundles_On_Homogeneous_Varieties__0-2/src/Equivariant_Vector_Bundles_On_Homogeneous_Varieties/Overlying_Structure/Equivariant_Vector_Bundle.py:172, in Equivariant_Vector_Bundle.Euler_Sum(self, other) 170 """Returns sum_{ p } (-1)^p EXT^p(``self``,``other``).""" 171 WCR = self.Base_Space().Parent_Group().Weyl_Character_Ring() --> 172 Result = sum([ (-_sage_const_1 )**Degree * Weyl_Character for Degree , Weyl_Character in self.EXT(other).items() ]) 173 if Result == _sage_const_0 : return WCR(_sage_const_0 ) 174 else : return Result
File ~/Equivariant_Vector_Bundles_On_Homogeneous_Varieties__0-2/src/Equivariant_Vector_Bundles_On_Homogeneous_Varieties/Overlying_Structure/Equivariant_Vector_Bundle.py:193, in Equivariant_Vector_Bundle.EXT(self, other, *p) 191 return ( E1.Dual() * E2 ).Cohomology( *p ) 192 except : --> 193 raise ValueError( 'Not able to compute EXT(E1,E2) with\n'+'E1='+str(E1)+'\n'+'E2='+str(E2)+'.' )
File ~/Equivariant_Vector_Bundles_On_Homogeneous_Varieties__0-2/src/Equivariant_Vector_Bundles_On_Homogeneous_Varieties/Overlying_Structure/Equivariant_Vector_Bundle.py:996, in Direct_Sum_Of_Equivariant_Vector_Bundles.__str__(self) 994 for Vector_Bundle , Multiplicity in self.Summands() : 995 if isinstance( Vector_Bundle , Extension_Of_Equivariant_Vector_Bundles ) : str_VB = str(Vector_Bundle.Abbreviation()) --> 996 else : str_VB = str(Vector_Bundle) 998 if Multiplicity == WCR(_sage_const_1 ) : str_Mult = '' 999 else :
File ~/Equivariant_Vector_Bundles_On_Homogeneous_Varieties__0-2/src/Equivariant_Vector_Bundles_On_Homogeneous_Varieties/Overlying_Structure/Equivariant_Vector_Bundle.py:501, in Irreducible_Equivariant_Vector_Bundle.__str__(self) 499 LeviPart = sum([ _sage_const_0 *fw[_sage_const_1 ] ] + [ self.Highest_Weight().coefficient(Node)*fw[Node] for Node in self.Base_Space().Included_Nodes() ]) 500 p = None --> 501 for i in (ellipsis_range( _sage_const_0 ,Ellipsis, self.Base_Space().calU().Dual().Rank() )) : 502 if LeviPart == self.Base_Space().calU().Dual().Wedge(i).Highest_Weight() : p = i ; break 503 if not p == None :
File ~/Equivariant_Vector_Bundles_On_Homogeneous_Varieties__0-2/src/Equivariant_Vector_Bundles_On_Homogeneous_Varieties/Base_Space/Homogeneous_Variety.py:125, in Irreducible_Homogeneous_Variety.calU(self, *Input) 123 """Returns the tautological subbundle (if there no input) or the irreequivariant vector bundle associated to a highest weight (if there is some input otherwise).""" 124 if len(Input) == _sage_const_0 : # Synonym for the method ``Tautological_Subbundle`` --> 125 return self.Tautological_Subbundle() 127 else : # Synonym for the method ``Equivariant_Vector_Bundles`` 128 return self.Equivariant_Vector_Bundle( *Input )
File ~/Equivariant_Vector_Bundles_On_Homogeneous_Varieties__0-2/src/Equivariant_Vector_Bundles_On_Homogeneous_Varieties/Base_Space/Homogeneous_Variety.py:856, in Irreducible_Homogeneous_Variety.Tautological_Subbundle(self) 854 """Returns the tautological subbundle, i.e. the dual of the equivariant vector bundle induced by the highest weight omega_1.""" 855 fw = self.Basis('fw') --> 856 return self.Irreducible_Equivariant_Vector_Bundle( fw[_sage_const_1 ] ).Dual()
File ~/Equivariant_Vector_Bundles_On_Homogeneous_Varieties__0-2/src/Equivariant_Vector_Bundles_On_Homogeneous_Varieties/Overlying_Structure/Equivariant_Vector_Bundle.py:585, in Irreducible_Equivariant_Vector_Bundle.Dual(self) 583 """Returns the dual of ``self``.""" 584 # Dualize the highest weight supported over the twisting part (exluded nodes) --> 585 Dual_Twist_HW = -_sage_const_1 * self.Highest_Weight_Supported_Over( Nodes=self.Base_Space().Parabolic_Subgroup().Excluded_Nodes() ) # Highest Weight supported over the total twisting part 587 # Dualize the representation supported over the Levi part (included nodes) 588 Dual_Levi_Rep = [ Weyl_Character.dual() for Weyl_Character in self.Representation_Supported_Over_Levi_Part(Decomposition_Style='Fine') ]
File ~/Equivariant_Vector_Bundles_On_Homogeneous_Varieties__0-2/src/Equivariant_Vector_Bundles_On_Homogeneous_Varieties/Overlying_Structure/Equivariant_Vector_Bundle.py:688, in Irreducible_Equivariant_Vector_Bundle.Highest_Weight_Supported_Over(self, Nodes) 686 All_Nodes = set( self.Base_Space().Parent_Group().Cartan_Type().index_set() ) 687 assert Nodes.issubset( All_Nodes ) , ValueError('The input for ``Nodes`` must be a subset of all nodes ' + str( All_Nodes ) + '.') --> 688 Coefficients = self.Coefficients('mx') 689 mx = self.Base_Space().Basis('mx') 690 return sum( [ Coefficients[Node-_sage_const_1 ] * mx[Node] for Node in Nodes ] )
File ~/Equivariant_Vector_Bundles_On_Homogeneous_Varieties__0-2/src/Equivariant_Vector_Bundles_On_Homogeneous_Varieties/Overlying_Structure/Equivariant_Vector_Bundle.py:527, in Irreducible_Equivariant_Vector_Bundle.Coefficients(self, Basis_Type) 524 return self.Base_Space().Cartan_Matrix( From='fw' , To='sr' ) * self.Coefficients('fw') 526 elif Basis_Type in self.Base_Space().BASIS_LABELLING['mx'] : --> 527 return self.Base_Space().Cartan_Matrix( From='fw' , To='mx' ) * self.Coefficients('fw') 529 elif Basis_Type in self.Base_Space().BASIS_LABELLING['fw'] : 530 Vector = vector( QQ , self.Base_Space().Parent_Group().Cartan_Degree() )
File ~/Equivariant_Vector_Bundles_On_Homogeneous_Varieties__0-2/src/Equivariant_Vector_Bundles_On_Homogeneous_Varieties/Base_Space/Homogeneous_Variety.py:200, in Irreducible_Homogeneous_Variety.Cartan_Matrix(self, From, To) 198 elif From == 'fw' : 199 if To == 'sr' : return self.Cartan_Matrix( From = 'sr' , To = 'fw' ).inverse() --> 200 elif To == 'mx' : return self.Cartan_Matrix( From = 'mx' , To = 'fw' ).inverse() 201 elif To == 'ambt' : 202 fw = self.Basis('fw')
File ~/Equivariant_Vector_Bundles_On_Homogeneous_Varieties__0-2/src/Equivariant_Vector_Bundles_On_Homogeneous_Varieties/Base_Space/Homogeneous_Variety.py:194, in Irreducible_Homogeneous_Variety.Cartan_Matrix(self, From, To) 192 Matrix = copy( self.Cartan_Matrix( From = 'sr' , To = 'fw' ) ) 193 for Node in self.Parabolic_Subgroup().Excluded_Nodes() : --> 194 Matrix[:,Node-_sage_const_1 ] = vector([ kronecker_delta( I , Node ) for I in (ellipsis_range( _sage_const_1 ,Ellipsis, self.Parent_Group().Cartan_Degree() )) ]) 195 return Matrix 196 elif To == 'ambt' : return self.Cartan_Matrix( From = 'fw' , To = 'ambt') * self.Cartan_Matrix( From = 'mx' , To = 'fw')
File ~/Equivariant_Vector_Bundles_On_Homogeneous_Varieties__0-2/src/Equivariant_Vector_Bundles_On_Homogeneous_Varieties/Base_Space/Homogeneous_Variety.py:194, in <listcomp>(.0) 192 Matrix = copy( self.Cartan_Matrix( From = 'sr' , To = 'fw' ) ) 193 for Node in self.Parabolic_Subgroup().Excluded_Nodes() : --> 194 Matrix[:,Node-_sage_const_1 ] = vector([ kronecker_delta( I , Node ) for I in (ellipsis_range( _sage_const_1 ,Ellipsis, self.Parent_Group().Cartan_Degree() )) ]) 195 return Matrix 196 elif To == 'ambt' : return self.Cartan_Matrix( From = 'fw' , To = 'ambt') * self.Cartan_Matrix( From = 'mx' , To = 'fw')
File src/cysignals/signals.pyx:341, in cysignals.signals.python_check_interrupt()
KeyboardInterrupt:
print( X.calS()^2 ) cR = X.calU( fw[4] )(-1) for p in [ 0 .. n-3 ] : print( p , cR.Wedge(p)(1) )
VB(2*Lambda[6]) + VB(Lambda[5]) + VB(Lambda[4]) + VB(Lambda[3]) 0 VB(Lambda[3]) 1 VB(Lambda[4]) 2 VB(Lambda[5]) 3 VB(2*Lambda[6])
cM2 = X.calU( fw[1]+2*fw[n] )(-1) + X.calU( 2*fw[n] )(-1) + X.calU( fw[n-1] )(-1) cM1 = cM2*-1 for Smd in ( X.calU( fw[n] ) * G.rmV( fw[n] ) ).Irreducible_Components() : cM1 += Smd print( 'Summands of cM1:' ) for Smd in cM1 : print( 3*' ' , Smd )
Summands of cM1: VB(Lambda[2] + 2*Lambda[6])(-1) VB(Lambda[2] + Lambda[5])(-1) VB(Lambda[2] + Lambda[4])(-1) (Ʌ^2 cUˇ) VB(Lambda[1] + Lambda[5])(-1) VB(Lambda[1] + Lambda[4])(-1) cUˇ VB(2*Lambda[6]) VB(Lambda[5]) VB(Lambda[4]) cO(1) VB(Lambda[4])(-1) cO
for p in [ 0 , 2 , 4 ] : print( 'p='+str(p)+':' ) Stock = { -p-1+i : X.calU().Symmetric_Power(p-i) * G.rmV( fw[1] ).exterior_power(i) for i in [ 0 .. p ] } Stock.update({ 0 : 'Cokernel' }) print( 'Summands:' ) for Smd in X.Complex(Stock).SemiSimplification(0) : print( 3*' ' , Smd ) print()
p=0: Summands: cO p=2: Summands: VB(Lambda[1] + Lambda[4])(-1) VB(Lambda[5])(-1) (Ʌ^2 cUˇ) p=4: Summands: VB(Lambda[1] + 2*Lambda[6])(-1) VB(Lambda[2] + Lambda[5])(-1) VB(2*Lambda[6])(-1) VB(Lambda[4])