next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
Macaulay2Doc :: forceGB(..., SyzygyMatrix => ...)

forceGB(..., SyzygyMatrix => ...) -- specify 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];

   -- registering polynomial ring 0 at 0x558eb79ec700

   -- registering polynomial ring 1 at 0x558eb79ec500

   -- registering polynomial ring 2 at 0x558eb79ec300
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 gb 0 at 0x558eb79bfa80

   -- [gb]{2}(1)m{3}(1)m{4}(1)m{5}(1)z{6}(1)z{7}(1)znumber of (nonminimal) gb elements = 3
   -- number of monomials                = 9
   -- #reduction steps = 6
   -- #spairs done = 6
   -- ncalls = 0
   -- nloop = 0
   -- nsaved = 0
   -- 
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