Macaulay2 » Documentation
Packages » Schubert2 :: abstractProjectiveSpace
next | previous | forward | backward | up | index | toc

abstractProjectiveSpace -- make a projective space

Synopsis

Description

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               
o14 = 1 + (2H    + -H   ) + (--H    + 5H   H    + --H   ) + (H    +
             2,1   2 2,1      6 2,2     2,1 2,1   12 2,2      2,3  
      -----------------------------------------------------------------------
      55           35           25         5           385          
      --H   H    + --H   H    + --H   ) + (-H   H    + ---H   H    +
      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                       
      --H   H    + H   ) + (--H   H    + ---H   H    + 2H   H   ) +
       6 2,3 2,1    2,4     12 2,2 2,3    72 2,3 2,2     2,4 2,1   
      -----------------------------------------------------------------------
       25           11
      (--H   H    + --H   H   ) + H   H
       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

See also

Ways to use abstractProjectiveSpace :

For the programmer

The object abstractProjectiveSpace is a method function with options.