next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
TestIdeals :: HSLGModule

HSLGModule -- computes the submodule of the canonical module stable under the image of the trace of Frobenius

Synopsis

Description

Given a ring R with canonical module ω, this computes the image of Fe* ω→ω for e >> 0. This image is sometimes called the HSLG-module. It roughly tells you where a ring is non-F-injective.

Specifically, this function returns a list of the following entries. HSLGmodule, canonicalModule, u, HSLCount where canonicalModule is the canonical module of the ring (expressed as an ideal), HSLGmodule is a submodule of that canonical module, u is an element of the ambient polynomial ring representing the trace of Frobenius on the canonical module and HSLCount is how many times the trace of Frobenius was computed before the image stabilized.

i1 : R = ZZ/7[x,y,z]/ideal(x^5+y^5+z^5);
i2 : HSLList = HSLGModule(R);
i3 : HSLList#1 --the ambient canonical module

o3 = ideal 1

o3 : Ideal of R
i4 : HSLList#0 --the HSLGsubmodule

                3     2     2   2           2    3     2   2    3
o4 = ideal (0, z , y*z , x*z , y z, x*y*z, x z, y , x*y , x y, x )

o4 : Ideal of R
i5 : HSLList#2 --the element representing trace of Frobenius

       30    25 5    20 10    15 15    10 20    5 25    30    25 5     20 5 5
o5 = {x   - x  y  + x  y   - x  y   + x  y   - x y   + y   - x  z  + 2x  y z 
     ------------------------------------------------------------------------
         15 10 5     10 15 5     5 20 5    25 5    20 10     15 5 10  
     - 3x  y  z  - 3x  y  z  + 2x y  z  - y  z  + x  z   - 3x  y z   -
     ------------------------------------------------------------------------
      10 10 10     5 15 10    20 10    15 15     10 5 15     5 10 15    15 15
     x  y  z   - 3x y  z   + y  z   - x  z   - 3x  y z   - 3x y  z   - y  z  
     ------------------------------------------------------------------------
        10 20     5 5 20    10 20    5 25    5 25    30
     + x  z   + 2x y z   + y  z   - x z   - y z   + z  }

o5 : List
i6 : HSLList#3 --how many times it took until the image stabilized

o6 = 2

If you don’t want the function to compute the canonicalModule, you can also pass it. This can be useful if you pass it something other than the canonical module as well (for example, a submodule of the canonical module).

Additionally, you can specify a pair (R, ft) as long as t is a rational number without p in its denominator.

i7 : R = ZZ/7[x,y];
i8 : HSLList = HSLGModule(5/6, y^2-x^3);
i9 : HSLList#1 --the canonical module

o9 = ideal 1

o9 : Ideal of R
i10 : HSLList#0

o10 = ideal (0, 1)

o10 : Ideal of R
i11 : HSLList = HSLGModule(9/10, y^2-x^3);
i12 : HSLList#0

o12 = ideal (0, y, x)

o12 : Ideal of R

Additionally, we can compute HSLG-modules of things like τ(R, fs gt) even when R is not regular.

i13 : R = ZZ/3[x,y,z]/ideal(x^2-y*z);
i14 : f = y;
i15 : g = z;
i16 : HSLGModule({1/2, 1/2, 1/2}, {y,z,y+z})

                                      4    2       2 2
o16 = {ideal (0, z, y, x), ideal 1, {x  + x y*z + y z }, 1}

o16 : List

Ways to use HSLGModule :