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

# period -- the period of a ZZ/d-graded factorization or map

- Usage:
    `p = period C`
- Inputs:
  - C, a ZZ/d graded factorization,
- Outputs:
  - an integer, the integer d for which C is a ZZ/d-graded factorization

## Description

In this package, each factorization has a period d. This function is mainly used in programming, to loop over all non-zero modules or maps in the factorization. This should not be confused with the support of a factorization (that is, all spots with a nonzero module).

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

    i2 : F = ZZdfactorization(S^0, 2)

    o2 = 0 <-- 0 <-- 0

         0     1     0

    o2 : ZZdFactorization

    i3 : period F -- even though all modules are 0, period is unchanged.

    o3 = 2

    i4 : F == 0

    o4 = true

    i5 : C = tailMF ideal vars (S/(a^2+b^2+c^2))

          4      4      4
    o5 = S  <-- S  <-- S

         0      1      0

    o5 : ZZdFactorization

    i6 : period C

    o6 = 2

    i7 : D = C ++ C[5]

          8      8      8
    o7 = S  <-- S  <-- S

         0      1      0

    o7 : ZZdFactorization

    i8 : period D

    o8 = 2

Unlike the "concentration" command for complexes, indices outside the period are taken modulo the period, and all of the standard operations on factorizations leave the period unchanged. If you want to change the period of a factorization, try using TO (unfold, ZZdFactorization, List) instead.

    i9 : C_-1

          4
    o9 = S

    o9 : S-module, free, degrees {4:4}

    i10 : D_4

           8
    o10 = S

    o10 : S-module, free, degrees {4:3, 4:4}

The function period does no computation. Use prune to obtain the pruned outputs.

    i11 : f1 = a*id_C

               4                       4
    o11 = 0 : S  <------------------- S  : 0
                    {3} | a 0 0 0 |
                    {3} | 0 a 0 0 |
                    {3} | 0 0 a 0 |
                    {3} | 0 0 0 a |

               4                       4
          1 : S  <------------------- S  : 1
                    {4} | a 0 0 0 |
                    {4} | 0 a 0 0 |
                    {4} | 0 0 a 0 |
                    {4} | 0 0 0 a |

    o11 : ZZdFactorizationMap

    i12 : E = coker f1

    o12 = cokernel {3} | a 0 0 0 | <-- cokernel {4} | a 0 0 0 | <-- cokernel {3} | a 0 0 0 |
                   {3} | 0 a 0 0 |              {4} | 0 a 0 0 |              {3} | 0 a 0 0 |
                   {3} | 0 0 a 0 |              {4} | 0 0 a 0 |              {3} | 0 0 a 0 |
                   {3} | 0 0 0 a |              {4} | 0 0 0 a |              {3} | 0 0 0 a |

          0                            1                            0

    o12 : ZZdFactorization

    i13 : Z = coker id_C

    o13 = cokernel {3} | 1 0 0 0 | <-- cokernel {4} | 1 0 0 0 | <-- cokernel {3} | 1 0 0 0 |
                   {3} | 0 1 0 0 |              {4} | 0 1 0 0 |              {3} | 0 1 0 0 |
                   {3} | 0 0 1 0 |              {4} | 0 0 1 0 |              {3} | 0 0 1 0 |
                   {3} | 0 0 0 1 |              {4} | 0 0 0 1 |              {3} | 0 0 0 1 |

          0                            1                            0

    o13 : ZZdFactorization

    i14 : Z == 0

    o14 = true

    i15 : period prune Z

    o15 = 2

A module may be viewed as a ZZ/d-graded factorization with any period. We can construct this factorization as follows. We can specify the base homological degree using the option Base.

    i16 : C0 = ZZdfactorization(coker vars S, 2)

    o16 = cokernel | a b c | <-- 0 <-- cokernel | a b c |

          0                      1     0

    o16 : ZZdFactorization

    i17 : C1 = ZZdfactorization(coker vars S, 2, Base => 1)

    o17 = 0 <-- cokernel | a b c | <-- 0

          0     1                      0

    o17 : ZZdFactorization

    i18 : period C0

    o18 = 2

    i19 : period C1

    o19 = 2

    i20 : prune C0 == (prune C1)[1]

    o20 = true

## See also

- Basic invariants and properties -- information about accessing basic features
- ZZdFactorization _ ZZ -- access individual object in a ZZ/d-graded factorization
- period(ZZdFactorizationMap) -- the period of a ZZ/d-graded factorization or map

## Ways to use period:

- `period(ZZdFactorization)`
- `period(ZZdFactorizationMap)`

## For the programmer

The object period 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:490:0.