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

base -- make an abstract variety from nothing, equipped with some parameters and some bundles

Synopsis

Description

First we make a base variety and illustrate a computation with its two abstract sheaves:

i1 : S = base(2,p,q, Bundle =>(A,1,a), Bundle => (B,2,"b"))

o1 = S

o1 : an abstract variety of dimension 2
i2 : intersectionRing S

o2 = QQ[p..q, a , b1, b2]
               1

o2 : PolynomialRing
i3 : degrees oo

o3 = {{0}, {0}, {1}, {1}, {2}}

o3 : List
i4 : chern (A*B)

                        2
o4 = 1 + (2a  + b1) + (a  + a b1 + b2)
            1           1    1

o4 : QQ[p..q, a , b1, b2]
               1
i5 : integral oo

               2
o5 = integral(a  + a b1 + b2)
               1    1

o5 : Expression of class Adjacent

Then we make a projective space over it and use the auxiliary parameters p and q in a computation that checks the projection formula.

i6 : X = 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

o6 = X

o6 : a flag bundle with subquotient ranks {3, 1}
i7 : intersectionRing X

              QQ[p..q, a , b1, b2][H   ..H   , H]
                        1           1,1   1,3
o7 = ----------------------------------------------------
     (- H    - H, - H    - H   H, - H    - H   H, -H   H)
         1,1         1,2    1,1      1,3    1,2     1,3

o7 : QuotientRing
i8 : f = X.StructureMap

o8 = f

o8 : a map to S from X
i9 : x = chern f_* (f^* OO_S(p*a_1) * OO_X(q*H))

          1   3        2     11                   1 2 6 2   1 2 5 2  
o9 = 1 + (-p*q a  + p*q a  + --p*q*a  + p*a ) + (--p q a  + -p q a  +
          6     1        1    6     1      1     72     1   6     1  
     ------------------------------------------------------------------------
     29 2 4 2   23 2 3 2   157 2 2 2   11 2   2
     --p q a  + --p q a  + ---p q a  + --p q*a )
     36     1   12     1    72     1   12     1

o9 : QQ[p..q, a , b1, b2]
               1
i10 : y = chern f_* OO_X((f^*(p*a_1))+q*H)

           1   3        2     11                   1 2 6 2   1 2 5 2  
o10 = 1 + (-p*q a  + p*q a  + --p*q*a  + p*a ) + (--p q a  + -p q a  +
           6     1        1    6     1      1     72     1   6     1  
      -----------------------------------------------------------------------
      29 2 4 2   23 2 3 2   157 2 2 2   11 2   2
      --p q a  + --p q a  + ---p q a  + --p q*a )
      36     1   12     1    72     1   12     1

o10 : QQ[p..q, a , b1, b2]
                1
i11 : x == y

o11 = true

See also

Ways to use base :

For the programmer

The object base is a method function with a single argument.