Equivalent to flagBundle(\{1,n\},S,VariableNames=>\{h,\}).
i1 : P = abstractProjectiveSpace 3 o1 = P o1 : a flag bundle with subquotient ranks {1, 3} |
i2 : tangentBundle P o2 = a sheaf o2 : an abstract sheaf of rank 3 on P |
i3 : chern tangentBundle P o3 = 1 + 4H + 6H + 4H 2,1 2,2 2,3 QQ[][h, H ..H ] 2,1 2,3 o3 : ------------------------------------------------------- (- h - H , - h*H - H , - h*H - H , -h*H ) 2,1 2,1 2,2 2,2 2,3 2,3 |
i4 : todd P 11 o4 = 1 + 2H + --H + H 2,1 6 2,2 2,3 QQ[][h, H ..H ] 2,1 2,3 o4 : ------------------------------------------------------- (- h - H , - h*H - H , - h*H - H , -h*H ) 2,1 2,1 2,2 2,2 2,3 2,3 |
i5 : chi OO_P(3) o5 = 20 |
The name is quite long. Here is one way to make it shorter
i6 : PP = abstractProjectiveSpace o6 = abstractProjectiveSpace o6 : MethodFunctionWithOptions |
i7 : X = PP 4 o7 = X o7 : a flag bundle with subquotient ranks {1, 4} |
To compute the Hilbert polynomial of a sheaf on projective space, we work over a base variety of dimension zero whose intersection ring contains a free variable $n$, instead of working over point:
i8 : pt = base n o8 = pt o8 : an abstract variety of dimension 0 |
i9 : Q = abstractProjectiveSpace_4 pt o9 = Q o9 : a flag bundle with subquotient ranks {1, 4} |
i10 : chi OO_Q(n) 1 4 5 3 35 2 25 o10 = --n + --n + --n + --n + 1 24 12 24 12 o10 : QQ[n] |
The base variety may itself be a projective space:
i11 : S = abstractProjectiveSpace(4, VariableName => symbol h) o11 = S o11 : a flag bundle with subquotient ranks {1, 4} |
i12 : P = abstractProjectiveSpace(3, S, VariableName => H) warning: clearing value of symbol H to allow access to subscripted variables based on it : debug with expression debug 204 or with command line option --debug 204 warning: clearing value of symbol H to allow access to subscripted variables based on it : debug with expression debug 204 or with command line option --debug 204 o12 = P o12 : a flag bundle with subquotient ranks {1, 3} |
i13 : dim P o13 = 7 |
i14 : todd P 5 11 35 55 35 25 5 385 o14 = 1 + (2H + -H ) + (--H + 5H H + --H ) + (H + --H H + --H H + --H ) + (-H H + ---H H 2,1 2 2,1 6 2,2 2,1 2,1 12 2,2 2,3 12 2,1 2,2 6 2,2 2,1 12 2,3 2 2,1 2,3 72 2,2 2,2 --------------------------------------------------------------------------------------------------------------------------- 25 35 275 25 11 + --H H + H ) + (--H H + ---H H + 2H H ) + (--H H + --H H ) + H H 6 2,3 2,1 2,4 12 2,2 2,3 72 2,3 2,2 2,4 2,1 12 2,3 2,3 6 2,4 2,2 2,4 2,3 QQ[][h, H ..H ] 2,1 2,4 ------------------------------------------------------------------------[H, H ..H ] (- h - H , - h*H - H , - h*H - H , - h*H - H , -h*H ) 2,1 2,3 2,1 2,1 2,2 2,2 2,3 2,3 2,4 2,4 o14 : --------------------------------------------------------------------------------------- (- H - H , - H*H - H , - H*H - H , -H*H ) 2,1 2,1 2,2 2,2 2,3 2,3 |
The object abstractProjectiveSpace is a method function with options.