Macaulay2 » Documentation
Packages » ToricHigherDirectImages :: frobeniusPushforward
next | previous | forward | backward | up | index | toc

frobeniusPushforward -- compute the pushforward of a module under the $p$th toric Frobenius map

Description

The $p$th toric Frobenius is a toric morphism $F_p \colon X \rightarrow X$ which is the extension of the natural group homomorphism $T_X \rightarrow T_X$ given by raising all coordinates to the $p$th power. This allows one to view the Cox ring $R$ of $X$ as a module over itself, with the module action being $r \cdot m :\!= r^p m$. The extension of this action to modules also allows one to compute the pushforward by $F_p$. Note that $p$ need not be prime, nor related to the characteristic of the ground field in any way. Here is the 4th pushforward of the Cox ring of the first Hirzebruch surface.

i1 : X = hirzebruchSurface 1;
i2 : R = ring X;
i3 : frobeniusPushforward(4, R^1)

      16
o3 = R

o3 : R-module, free, degrees {{0, 0}, 3:{0, 1}, {1, 0}, 3:{0, 1}, {1, 0}, {1, 1}, 2:{0, 1}, {1, 0}, 2:{1, 1}, {0, 1}}

We can pushforward many kinds of modules. Here is the pushforward of an ideal.

i4 : I = module ideal {R_0, R_2};
i5 : prune frobeniusPushforward(2, I)

o5 = cokernel {1, 0} | -x_2 |
              {0, 1} | 0    |
              {1, 0} | 0    |
              {1, 0} | x_0  |
              {0, 1} | 0    |

                            5
o5 : R-module, quotient of R

Here is the pushforward of a free module.

i6 : F = R^{{1,0},{0,1}};
i7 : frobeniusPushforward(2, F)

      8
o7 = R

o7 : R-module, free, degrees {{0, 0}, {0, 1}, {0, 0}, {-1, 1}, 2:{0, 0}, {1, 0}, {0, 0}}

Here is the pushforward of a torsion module.

i8 : M = R^1/(module I)

o8 = cokernel | x_0 x_2 |

                            1
o8 : R-module, quotient of R
i9 : prune frobeniusPushforward(2, M)

o9 = cokernel | x_2 x_0 |

                            1
o9 : R-module, quotient of R

As mentioned, $p$ is not related to the characteristic of the field, and the outputs will be the same modules over a different coefficient ring.

i10 : Y = hirzebruchSurface(1, CoefficientRing => ZZ/2);
i11 : S = ring Y;
i12 : I' = module ideal {S_0, S_2};
i13 : prune frobeniusPushforward(2, I')

o13 = cokernel {1, 0} | x_2 |
               {0, 1} | 0   |
               {1, 0} | 0   |
               {1, 0} | x_0 |
               {0, 1} | 0   |

                             5
o13 : S-module, quotient of S

The pushforward is an endofunctor on the category of $R$-modules, so we may apply it to morphisms and complexes of $R$-modules.

i14 : X = hirzebruchSurface 1;
i15 : R = ring X;
i16 : C = complex koszul vars R

       1      4      6      4      1
o16 = R  <-- R  <-- R  <-- R  <-- R
                                   
      0      1      2      3      4

o16 : Complex
i17 : frobeniusPushforward_2 C

       4      16      24      16      4
o17 = R  <-- R   <-- R   <-- R   <-- R
                                      
      0      1       2       3       4

o17 : Complex

See also

Ways to use frobeniusPushforward:

  • frobeniusPushforward(ZZ,Complex)
  • frobeniusPushforward(ZZ,Matrix)
  • frobeniusPushforward(ZZ,Module)

For the programmer

The object frobeniusPushforward is a method function.


The source of this document is in /build/reproducible-path/macaulay2-1.26.05+ds/M2/Macaulay2/packages/ToricHigherDirectImages.m2:648:0.