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 3 at 0x7fe89b36d600
|
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 0x7fe89b3b2e00
-- [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.