Macaulay2 » Documentation
Packages » MatrixFactorizations :: tailMF
next | previous | forward | backward | up | index | toc

# tailMF -- Generate a ZZdFactorization from a module over a hypersurface ring

- Usage:
    `tailMF(Module)`
- Inputs:
  - Module, a module, A module over a hypersurface ring or an ideal in a hypersurface ring
- Outputs:
  - a ZZ/d graded factorization,

## Description

The function tailMF takes a module $M$ over a hypersurface ring $R = S/(f)$ and generates a ZZdFactorization. This involves computing a resolution of $M$ over the hypersurface $R$, taking a high truncation of this resolution, lifting it to the ambient ring $S$, then finding a nullhomotopy for multiplication by $f$.

    i1 : S = ZZ/101[a,b,c];

    i2 : R = S/(a^3+b^3+c^3);

    i3 : m = ideal vars R;

    o3 : Ideal of R

    i4 : C1 = tailMF m

          4      4      4
    o4 = S  <-- S  <-- S

         0      1      0

    o4 : ZZdFactorization

    i5 : C1.dd

              4                            4
    o5 = 1 : S  <------------------------ S  : 0
                   {5} | -a -c2 b2 0  |
                   {5} | -c a2  0  b2 |
                   {5} | b  0   a2 c2 |
                   {6} | 0  -b  -c a  |

              4                              4
         0 : S  <-------------------------- S  : 1
                   {3} | -a2 -c2 b2 0   |
                   {4} | -c  a   0  -b2 |
                   {4} | b   0   a  -c2 |
                   {4} | 0   b   c  a2  |

    o5 : ZZdFactorizationMap

    i6 : assert isWellDefined C1

    i7 : C1.dd^2

              4                                                   4
    o7 = 0 : S  <----------------------------------------------- S  : 0
                   {3} | a3+b3+c3 0        0        0        |
                   {4} | 0        a3+b3+c3 0        0        |
                   {4} | 0        0        a3+b3+c3 0        |
                   {4} | 0        0        0        a3+b3+c3 |

              4                                                   4
         1 : S  <----------------------------------------------- S  : 1
                   {5} | a3+b3+c3 0        0        0        |
                   {5} | 0        a3+b3+c3 0        0        |
                   {5} | 0        0        a3+b3+c3 0        |
                   {6} | 0        0        0        a3+b3+c3 |

    o7 : ZZdFactorizationMap

    i8 : C2 = tailMF m^2

          9      9      9
    o8 = S  <-- S  <-- S

         0      1      0

    o8 : ZZdFactorization

    i9 : C2.dd

              9                                               9
    o9 = 1 : S  <------------------------------------------- S  : 0
                   {6} | -a 0  c  0   b2  0   0   0  0   |
                   {6} | 0  -a 0  0   0   -c2 b2  0  bc  |
                   {6} | 0  0  0  -ab -ac -b2 -bc a2 -c2 |
                   {6} | 0  0  -a -ac 0   -bc -c2 0  b2  |
                   {6} | -c 0  0  a2  0   ab  ac  b2 0   |
                   {6} | b  0  0  0   a2  0   0   c2 ac  |
                   {6} | 0  -c 0  -b2 -bc a2  0   ab 0   |
                   {6} | 0  b  -c -c2 0   0   a2  0  0   |
                   {6} | 0  0  b  0   -c2 0   0   ac a2  |

              9                                               9
         0 : S  <------------------------------------------- S  : 1
                   {4} | -a2 0   0  -ac -c2 b2 0   0  0  |
                   {4} | 0   -a2 0  0   0   0  -c2 b2 bc |
                   {4} | c2  0   0  -a2 -ac 0  0   0  b2 |
                   {5} | -c  0   0  0   a   0  -b  -c 0  |
                   {5} | b   0   0  0   0   a  0   0  -c |
                   {5} | 0   -c  -b 0   0   0  a   0  0  |
                   {5} | 0   b   0  -c  0   0  0   a  0  |
                   {5} | 0   0   a  0   b   c  0   0  0  |
                   {5} | 0   0   -c b   0   0  0   0  a  |

    o9 : ZZdFactorizationMap

    i10 : C2.dd^2

               9                                                                                                9
    o10 = 0 : S  <-------------------------------------------------------------------------------------------- S  : 0
                    {4} | a3+b3+c3 0        0        0        0        0        0        0        0        |
                    {4} | 0        a3+b3+c3 0        0        0        0        0        0        0        |
                    {4} | 0        0        a3+b3+c3 0        0        0        0        0        0        |
                    {5} | 0        0        0        a3+b3+c3 0        0        0        0        0        |
                    {5} | 0        0        0        0        a3+b3+c3 0        0        0        0        |
                    {5} | 0        0        0        0        0        a3+b3+c3 0        0        0        |
                    {5} | 0        0        0        0        0        0        a3+b3+c3 0        0        |
                    {5} | 0        0        0        0        0        0        0        a3+b3+c3 0        |
                    {5} | 0        0        0        0        0        0        0        0        a3+b3+c3 |

               9                                                                                                9
          1 : S  <-------------------------------------------------------------------------------------------- S  : 1
                    {6} | a3+b3+c3 0        0        0        0        0        0        0        0        |
                    {6} | 0        a3+b3+c3 0        0        0        0        0        0        0        |
                    {6} | 0        0        a3+b3+c3 0        0        0        0        0        0        |
                    {6} | 0        0        0        a3+b3+c3 0        0        0        0        0        |
                    {6} | 0        0        0        0        a3+b3+c3 0        0        0        0        |
                    {6} | 0        0        0        0        0        a3+b3+c3 0        0        0        |
                    {6} | 0        0        0        0        0        0        a3+b3+c3 0        0        |
                    {6} | 0        0        0        0        0        0        0        a3+b3+c3 0        |
                    {6} | 0        0        0        0        0        0        0        0        a3+b3+c3 |

    o10 : ZZdFactorizationMap

## Caveat

There are no checks implemented for whether the ambient ring is actually a hypersurface. The user should make sure the input module $M$ satisfies the conditions put forth above.

## See also

- Making ZZdFactorizations -- Information about the basic constructors
- koszulMF -- Construct a Koszul matrix factorization from an ideal and a polynomial
- randomTailMF -- Construct a matrix factorization from a high syzygy of a random module over a hypersurface

## Ways to use tailMF:

- `tailMF(Ideal)`
- `tailMF(Module)`

## For the programmer

The object tailMF is a method function.

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/MatrixFactorizations/MatrixFactorizationsDOC.m2:5217:0.