Macaulay2 » Documentation
Packages » DirectSummands » Example: summands of the Frobenius pushforward
next | previous | forward | backward | up | index | toc

Example: summands of the Frobenius pushforward

Here we present examples of using this package to study summands of the Frobenius pushforward of the structure sheaf on different varieties. Depending on the geometry, the result may be a complete splitting into line bundles, a decomposition involving higher-rank indecomposable summands, a decomposition that becomes finer only after extending the ground field, or an indecomposable bundle.

For further details, see Section 5 of [MS26], Further references for the geometric situations are collected in that section.

The following computations illustrate several common patterns: standard and multigraded examples, Grassmannian examples with higher-rank summands, and computations on an elliptic curve.

i1 : S = ZZ/3[x_0..x_2];
i2 : X = Proj S;
i3 : tally summands frobeniusPushforward(1, OO_X)

              1
o3 = Tally{OO   => 1    }
             X
              1
           OO  (-1) => 7
             X
              1
           OO  (-2) => 1
             X

o3 : Tally

Base change is often essential when the bundle splits only over a larger finite field. In that situation, changeBaseField and potentialExtension are useful.

i4 : R = ZZ/7[x,y,z]/(x^3+y^3+z^3);
i5 : X = Proj R;
i6 : F = frobeniusPushforward(1, OO_X);
i7 : rank \ summands F
 -- try using changeBaseField with GF 49
 -- try using changeBaseField with GF 49
 -- try using changeBaseField with GF 49

o7 = {1, 2, 2, 2}

o7 : List
i8 : potentialExtension F

o8 = GF 49

o8 : GaloisField
i9 : rank \ summands changeBaseField(GF(7, 2), F)

o9 = {1, 1, 1, 1, 1, 1, 1}

o9 : List

Outside of toric varieties, Frobenius pushforwards of the structure sheaf contain higher-rank indecomposable bundles in addition to line bundles.

i10 : R = quotient Grassmannian(1, 3, CoefficientRing => ZZ/3);
i11 : X = Proj R

o11 = X

o11 : ProjectiveVariety
i12 : tallySummands summands frobeniusPushforward(1, OO_X)

o12 = Tally{cokernel {2} | -p_(0,3) 0        -p_(2,3) -p_(1,3) | => 4}
                     {2} | p_(0,2)  -p_(2,3) 0        p_(1,2)  |
                     {2} | p_(0,1)  -p_(1,3) -p_(1,2) 0        |
                     {2} | 0        p_(0,3)  p_(0,2)  p_(0,1)  |
            cokernel {2} | p_(1,2)  0        p_(2,3)  p_(1,3)  | => 4
                     {2} | -p_(0,2) p_(2,3)  0        -p_(0,3) |
                     {2} | p_(0,1)  -p_(1,3) -p_(0,3) 0        |
                     {2} | 0        p_(1,2)  p_(0,2)  p_(0,1)  |
             1
            R  => 65

o12 : Tally
i13 : rank \ keys oo

o13 = {2, 2, 1}

o13 : List

In non-homogeneous situations, decompositions indicate the local singularities of the ring. For example, the following ring is an example of a D51 rational double point singularity in characteristic 2, for which we can compute the Frobenius pushforward of the ring and observe that it is $F$-split; further pushforwards would reveal that it is not F-regular. (Note that this ring is not quasihomogeneous.)

i14 : R = ZZ/2[x,y,z]/(x^2*y + x*y^2 + x*y*z + z^2);
i15 : F = frobeniusPushforward(1, R)

o15 = cokernel | 0     0 xy xz       yz       z2       yz    |
               | z     0 0  0        xy+y2+yz yz       y2+yz |
               | x+y+z z y  z        z        0        0     |
               | 0     y y  z        0        xy+y2+yz 0     |
               | z     0 z  x2+xy+xz 0        xz+z2    xy    |
               | 0     x 0  0        z        0        z     |
               | z     z 0  0        0        yz       xy    |

              ZZ                                  /        ZZ             \
              --[x..z]                            |        --[x..z]       |
               2                                  |         2             |7
o15 : ------------------------module, quotient of |-----------------------|
       2       2            2                     | 2       2            2|
      x y + x*y  + x*y*z + z                      \x y + x*y  + x*y*z + z /
i16 : summands F

                                                                            
                                                                            
                                                                            
o16 = {cokernel | x+y+z z  |, cokernel | x    z     |, cokernel | y z       
                | z     xy |           | xy+z xy+y2 |           | z x2+xy+xz
                                                                            
      -----------------------------------------------------------------------
         /        ZZ             \
         |        --[x..z]       |
         |         2             |1
      |, |-----------------------| }
      |  | 2       2            2|
         \x y + x*y  + x*y*z + z /

o16 : List

See also

Menu


The source of this document is in DirectSummands/docs.m2:680:0.