Macaulay2 » Documentation
Packages » Schubert2 > Riemann-Roch without denominators
next | previous | forward | backward | up | index | toc

Riemann-Roch without denominators

We display some of the universal polynomials described in Lemma 15.3 of Fulton's book, Intersection Theory.

i1 : f = (n,d,e) -> (
         X = base(n,
              Bundle => (symbol D,d,chern_1 symbol D .. chern_d symbol D),
              Bundle => (symbol E,e,chern_1 symbol E .. chern_e symbol E));
         p := chern(exteriorPower dual D * E) - 1;
         assert( p % ctop D == 0 );
         p // ctop D );
i2 : n = 4;
i3 : for d from 1 to 3 do for e from 1 to 4 do << endl << "d=" << d << " e=" << e << " P(D,E) = " << f(n,d,e) << endl
--warning: clearing value of symbol D to allow access to Chern class variables based on it
--warning: clearing value of symbol E to allow access to Chern class variables based on it
--warning: clearing value of symbol D to allow access to Chern class variables based on it
--warning: clearing value of symbol E to allow access to Chern class variables based on it
--warning: clearing value of symbol D to allow access to Chern class variables based on it
--warning: clearing value of symbol E to allow access to Chern class variables based on it
--warning: clearing value of symbol D to allow access to Chern class variables based on it
--warning: clearing value of symbol E to allow access to Chern class variables based on it
--warning: clearing value of symbol D to allow access to Chern class variables based on it
--warning: clearing value of symbol E to allow access to Chern class variables based on it
--warning: clearing value of symbol D to allow access to Chern class variables based on it
--warning: clearing value of symbol E to allow access to Chern class variables based on it
--warning: clearing value of symbol D to allow access to Chern class variables based on it
--warning: clearing value of symbol E to allow access to Chern class variables based on it
--warning: clearing value of symbol D to allow access to Chern class variables based on it
--warning: clearing value of symbol E to allow access to Chern class variables based on it
--warning: clearing value of symbol D to allow access to Chern class variables based on it
--warning: clearing value of symbol E to allow access to Chern class variables based on it
--warning: clearing value of symbol D to allow access to Chern class variables based on it
--warning: clearing value of symbol E to allow access to Chern class variables based on it
--warning: clearing value of symbol D to allow access to Chern class variables based on it
--warning: clearing value of symbol E to allow access to Chern class variables based on it
--warning: clearing value of symbol D to allow access to Chern class variables based on it
--warning: clearing value of symbol E to allow access to Chern class variables based on it
--warning: clearing value of symbol D to allow access to Chern class variables based on it
--warning: clearing value of symbol E to allow access to Chern class variables based on it
--warning: clearing value of symbol D to allow access to Chern class variables based on it
--warning: clearing value of symbol E to allow access to Chern class variables based on it
--warning: clearing value of symbol D to allow access to Chern class variables based on it
--warning: clearing value of symbol E to allow access to Chern class variables based on it
--warning: clearing value of symbol D to allow access to Chern class variables based on it
--warning: clearing value of symbol E to allow access to Chern class variables based on it
--warning: clearing value of symbol D to allow access to Chern class variables based on it
--warning: clearing value of symbol E to allow access to Chern class variables based on it
--warning: clearing value of symbol D to allow access to Chern class variables based on it
--warning: clearing value of symbol E to allow access to Chern class variables based on it
--warning: clearing value of symbol D to allow access to Chern class variables based on it
--warning: clearing value of symbol E to allow access to Chern class variables based on it
--warning: clearing value of symbol D to allow access to Chern class variables based on it
--warning: clearing value of symbol E to allow access to Chern class variables based on it
--warning: clearing value of symbol D to allow access to Chern class variables based on it
--warning: clearing value of symbol E to allow access to Chern class variables based on it
--warning: clearing value of symbol D to allow access to Chern class variables based on it
--warning: clearing value of symbol E to allow access to Chern class variables based on it
--warning: clearing value of symbol D to allow access to Chern class variables based on it
--warning: clearing value of symbol E to allow access to Chern class variables based on it

                                         2                    2          3          2                 2        3
d=1 e=1 P(D,E) = 1 + (c D - c E) + ((c D)  - 2*c D*c E + (c E) ) + ((c D)  - 3*(c D) c E + 3*c D*(c E)  - (c E) )
                       1     1        1         1   1      1          1          1    1       1    1        1

                                             2                    2                    3          2                 2        3
d=1 e=2 P(D,E) = 2 + (3*c D - c E) + (4*(c D)  - 3*c D*c E + (c E)  - 2*c E) + (5*(c D)  - 6*(c D) c E + 4*c D*(c E)  - (c E)  - 7*c D*c E + 3*c E*c E)
                         1     1          1         1   1      1         2          1          1    1       1    1        1         1   2       1   2

                                              2                    2                     3           2                 2        3
d=1 e=3 P(D,E) = 3 + (6*c D - c E) + (10*(c D)  - 4*c D*c E + (c E)  - 2*c E) + (15*(c D)  - 10*(c D) c E + 5*c D*(c E)  - (c E)  - 9*c D*c E + 3*c E*c E - 3*c E)
                         1     1           1         1   1      1         2           1           1    1       1    1        1         1   2       1   2       3

                                               2                    2                     3           2                 2        3
d=1 e=4 P(D,E) = 4 + (10*c D - c E) + (20*(c D)  - 5*c D*c E + (c E)  - 2*c E) + (35*(c D)  - 15*(c D) c E + 6*c D*(c E)  - (c E)  - 11*c D*c E + 3*c E*c E - 3*c E)
                          1     1           1         1   1      1         2           1           1    1       1    1        1          1   2       1   2       3

                                                 2                            2
d=2 e=1 P(D,E) = - 1 + (- c D + 2*c E) + (- (c D)  + c D + 3*c D*c E - 3*(c E) )
                           1       1          1       2       1   1        1

                                                     2                              2
d=2 e=2 P(D,E) = - 2 + (- 2*c D + 2*c E) + (- 2*(c D)  + 3*c D + 3*c D*c E - 3*(c E)  + 6*c E)
                             1       1            1         2       1   1        1         2

                                                     2                              2
d=2 e=3 P(D,E) = - 3 + (- 3*c D + 2*c E) + (- 3*(c D)  + 6*c D + 3*c D*c E - 3*(c E)  + 6*c E)
                             1       1            1         2       1   1        1         2

                                                     2                               2
d=2 e=4 P(D,E) = - 4 + (- 4*c D + 2*c E) + (- 4*(c D)  + 10*c D + 3*c D*c E - 3*(c E)  + 6*c E)
                             1       1            1          2       1   1        1         2

d=3 e=1 P(D,E) = 2 + (3*c D - 6*c E)
                         1       1

d=3 e=2 P(D,E) = 4 + (6*c D - 6*c E)
                         1       1

d=3 e=3 P(D,E) = 6 + (9*c D - 6*c E)
                         1       1

d=3 e=4 P(D,E) = 8 + (12*c D - 6*c E)
                          1       1