next | previous | forward | backward | up | top | index | toc | home

forceGB(..., SyzygyMatrix => ...) -- inform Macaulay2 about the syzygy matrix

Synopsis

Description

In the following example, the only computation being performed when asked to compute the kernel or syz of f is the minimal generator matrix of z.
i1 : gbTrace = 3

o1 = 3
i2 : R = ZZ[x,y,z];
i3 : f = matrix{{x^2-3, y^3-1, z^4-2}};

             1       3
o3 : Matrix R  <--- R
i4 : z = koszul(2,f)

o4 = {2} | -y3+1 -z4+2 0     |
     {3} | x2-3  0     -z4+2 |
     {4} | 0     x2-3  y3-1  |

             3       3
o4 : Matrix R  <--- R
i5 : g = forceGB(f, SyzygyMatrix=>z);
i6 : syz g -- no extra computation

o6 = {2} | -y3+1 -z4+2 0     |
     {3} | x2-3  0     -z4+2 |
     {4} | 0     x2-3  y3-1  |

             3       3
o6 : Matrix R  <--- R
i7 : syz f

registering gbA 1 at 0x69e330

   -- {2}(1)m{3}(1)m{4}(1)m{5}(1)z{6}(1)z{7}(1)z
   -- ...
o7 = {2} | -y3+1 -z4+2 0     |
     {3} | x2-3  0     -z4+2 |
     {4} | 0     x2-3  y3-1  |

             3       3
o7 : Matrix R  <--- R
i8 : kernel f

   -- ...
o8 = image {2} | -y3+1 -z4+2 0     |
           {3} | x2-3  0     -z4+2 |
           {4} | 0     x2-3  y3-1  |

                             3
o8 : R-module, submodule of R
If you know that the columns of z already form a set of minimal generators, then one may use forceGB once again.

Further information

Caveat

If the columns of z do not generate the syzygy module of f, nonsensical answers may result

See also