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

randomTailMF -- Construct a matrix factorization from a high syzygy of a random module over a hypersurface

Description

If no degree is specified, then a random list of degrees with values ranging from 1 to 10 is chosen. If no parameters on the presentation matrix are specified, then random values between 1 and 10 are chosen. It is highly recommended that one specifies bounds when working over a ring with more than 3 variables, since the computations may get out of hand if the presentation size is randomly chosen to be too large. This function is mostly meant as a helper function for generating interesting examples of matrix factorizations en masse. Note that for certain parameters this function may take some time to run, since the code will continue to generate examples until it obtains a well-defined matrix factorization (if it does not do this, the ranks of the modules in resulting factorization may not be equal).

i1 : Q = ZZ/101[x_1..x_3]

o1 = Q

o1 : PolynomialRing
i2 : f = random(2,Q)

        2               2                        2
o2 = 24x  - 36x x  - 29x  - 30x x  + 19x x  + 19x
        1      1 2      2      1 3      2 3      3

o2 : Q
i3 : C = randomTailMF(f, 4, 8, 5)

      8      8      8
o3 = Q  <-- Q  <-- Q
                    
     0      1      0

o3 : ZZdFactorization
i4 : C.dd

          8                                                                                                                                                             8
o4 = 1 : Q  <--------------------------------------------------------------------------------------------------------------------------------------------------------- Q  : 0
               {4} | 46x_3             -41x_3           39x_3            -40x_3            24x_1+48x_2+47x_3 -47x_2+31x_3      -40x_2-31x_3       -8x_2-32x_3      |
               {4} | 4x_3              -15x_1+5x_3      32x_1-24x_3      4x_1-29x_2-45x_3  -49x_2-28x_3      -40x_1+8x_2+23x_3 -33x_1+24x_2-29x_3 7x_1+25x_2+38x_3 |
               {4} | -35x_2-10x_3      40x_2+42x_3      24x_1+4x_2+22x_3 -42x_2-14x_3      -5x_2-41x_3       -41x_2+25x_3      13x_2+32x_3        46x_2+35x_3      |
               {4} | -13x_3            -15x_3           -14x_3           22x_3             31x_2-34x_3       24x_1-36x_2-23x_3 -41x_2-31x_3       -35x_2+44x_3     |
               {4} | -41x_2+12x_3      24x_1+22x_2-5x_3 50x_3            21x_3             26x_3             49x_3             -36x_3             9x_3             |
               {4} | -22x_3            33x_3            38x_3            22x_3             20x_2+23x_3       11x_2-49x_3       24x_1-12x_2+19x_3  16x_2-48x_3      |
               {4} | 24x_1+43x_2+21x_3 24x_2+44x_3      -27x_3           -42x_3            29x_3             41x_3             -13x_3             -46x_3           |
               {4} | 17x_3             15x_2+43x_3      -32x_2-50x_3     24x_1-40x_2+45x_3 26x_2-42x_3       40x_2-30x_3       33x_2+49x_3        -7x_2+27x_3      |

          8                                                                                                                                                        8
     0 : Q  <---------------------------------------------------------------------------------------------------------------------------------------------------- Q  : 1
               {3} | 3x_3          21x_3             11x_3              -13x_3           -x_2-35x_3       21x_3            x_1+43x_2-40x_3 -27x_3             |
               {3} | 41x_3         42x_3             -16x_3             -12x_3           x_1+6x_2+21x_3   34x_3            48x_2+50x_3     30x_3              |
               {3} | -4x_2+48x_3   -21x_2-5x_3       x_1-41x_2-46x_3    13x_2-22x_3      -19x_2+33x_3     -21x_2-4x_3      -28x_2-8x_3     -20x_2-7x_3        |
               {3} | 41x_2+27x_3   x_2+25x_3         -6x_3              -16x_3           -3x_3            -35x_3           -47x_3          x_1+39x_3          |
               {3} | x_1+47x_2+x_3 30x_2+19x_3       -40x_2-48x_3       -28x_2+43x_3     44x_2+22x_3      -16x_2+19x_3     -44x_3          -5x_2+49x_3        |
               {3} | 45x_2-7x_3    5x_2+37x_3        27x_2+27x_3        x_1+42x_2-27x_3  41x_2+49x_3      17x_2-32x_3      30x_3           16x_2+35x_3        |
               {3} | 16x_2-22x_3   41x_2-22x_3       -21x_2-48x_3       30x_2-22x_3      13x_2+48x_3      x_1-33x_2+14x_3  43x_3           10x_2+28x_3        |
               {3} | 17x_2-27x_3   -11x_1+34x_2+2x_3 -19x_1+22x_2+12x_3 49x_1+16x_2+4x_3 31x_1-4x_2-41x_3 48x_1+7x_2+12x_3 -33x_3          -15x_1+28x_2-40x_3 |

o4 : ZZdFactorizationMap
i5 : C.dd^2

          8                                                                                                                                                                                                                                                                                                                                                                                                                                       8
o5 = 0 : Q  <----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Q  : 0
               {3} | 24x_1^2-36x_1x_2-29x_2^2-30x_1x_3+19x_2x_3+19x_3^2 0                                                  0                                                  0                                                  0                                                  0                                                  0                                                  0                                                  |
               {3} | 0                                                  24x_1^2-36x_1x_2-29x_2^2-30x_1x_3+19x_2x_3+19x_3^2 0                                                  0                                                  0                                                  0                                                  0                                                  0                                                  |
               {3} | 0                                                  0                                                  24x_1^2-36x_1x_2-29x_2^2-30x_1x_3+19x_2x_3+19x_3^2 0                                                  0                                                  0                                                  0                                                  0                                                  |
               {3} | 0                                                  0                                                  0                                                  24x_1^2-36x_1x_2-29x_2^2-30x_1x_3+19x_2x_3+19x_3^2 0                                                  0                                                  0                                                  0                                                  |
               {3} | 0                                                  0                                                  0                                                  0                                                  24x_1^2-36x_1x_2-29x_2^2-30x_1x_3+19x_2x_3+19x_3^2 0                                                  0                                                  0                                                  |
               {3} | 0                                                  0                                                  0                                                  0                                                  0                                                  24x_1^2-36x_1x_2-29x_2^2-30x_1x_3+19x_2x_3+19x_3^2 0                                                  0                                                  |
               {3} | 0                                                  0                                                  0                                                  0                                                  0                                                  0                                                  24x_1^2-36x_1x_2-29x_2^2-30x_1x_3+19x_2x_3+19x_3^2 0                                                  |
               {3} | 0                                                  0                                                  0                                                  0                                                  0                                                  0                                                  0                                                  24x_1^2-36x_1x_2-29x_2^2-30x_1x_3+19x_2x_3+19x_3^2 |

          8                                                                                                                                                                                                                                                                                                                                                                                                                                       8
     1 : Q  <----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Q  : 1
               {4} | 24x_1^2-36x_1x_2-29x_2^2-30x_1x_3+19x_2x_3+19x_3^2 0                                                  0                                                  0                                                  0                                                  0                                                  0                                                  0                                                  |
               {4} | 0                                                  24x_1^2-36x_1x_2-29x_2^2-30x_1x_3+19x_2x_3+19x_3^2 0                                                  0                                                  0                                                  0                                                  0                                                  0                                                  |
               {4} | 0                                                  0                                                  24x_1^2-36x_1x_2-29x_2^2-30x_1x_3+19x_2x_3+19x_3^2 0                                                  0                                                  0                                                  0                                                  0                                                  |
               {4} | 0                                                  0                                                  0                                                  24x_1^2-36x_1x_2-29x_2^2-30x_1x_3+19x_2x_3+19x_3^2 0                                                  0                                                  0                                                  0                                                  |
               {4} | 0                                                  0                                                  0                                                  0                                                  24x_1^2-36x_1x_2-29x_2^2-30x_1x_3+19x_2x_3+19x_3^2 0                                                  0                                                  0                                                  |
               {4} | 0                                                  0                                                  0                                                  0                                                  0                                                  24x_1^2-36x_1x_2-29x_2^2-30x_1x_3+19x_2x_3+19x_3^2 0                                                  0                                                  |
               {4} | 0                                                  0                                                  0                                                  0                                                  0                                                  0                                                  24x_1^2-36x_1x_2-29x_2^2-30x_1x_3+19x_2x_3+19x_3^2 0                                                  |
               {4} | 0                                                  0                                                  0                                                  0                                                  0                                                  0                                                  0                                                  24x_1^2-36x_1x_2-29x_2^2-30x_1x_3+19x_2x_3+19x_3^2 |

o5 : ZZdFactorizationMap
i6 : isWellDefined C

o6 = true
i7 : f == potential C

o7 = true
i8 : D = randomTailMF(f, 3, 5) --without specifying generator degrees

      4      4      4
o8 = Q  <-- Q  <-- Q
                    
     0      1      0

o8 : ZZdFactorization
i9 : isdFactorization D

               2               2                        2
o9 = (true, 24x  - 36x x  - 29x  - 30x x  + 19x x  + 19x )
               1      1 2      2      1 3      2 3      3

o9 : Sequence
i10 : S = ZZ/101[a,b,c];
i11 : g = a^3 + b^3 + c^3;
i12 : E = randomTailMF(g)  --without specifying presentation bounds or degree bounds

       24      24      24
o12 = S   <-- S   <-- S
                       
      0       1       0

o12 : ZZdFactorization
i13 : isdFactorization E

              3    3    3
o13 = (true, a  + b  + c )

o13 : Sequence

If the user does not care about whether the output is a well-defined factorization, use the option WellDefined => false.

i14 : E' = randomTailMF(g, 1, 2, 2, WellDefined => false)

       1            1
o14 = S  <-- 0 <-- S
                    
      0      1     0

o14 : ZZdFactorization

See also

Ways to use randomTailMF:

  • randomTailMF(RingElement)
  • randomTailMF(RingElement,ZZ,ZZ)
  • randomTailMF(RingElement,ZZ,ZZ,ZZ)

For the programmer

The object randomTailMF is a method function with options.


The source of this document is in MatrixFactorizations/MatrixFactorizationsDOC.m2:6005:0.