A syzygy among the columns of a matrix is, by definition, an element of the kernel of the corresponding map between free modules, and the easiest way to compute the syzygies applying the function kernel.

The answer is provided as a submodule of the source of `f`. The function super can be used to produce the module that `K` is a submodule of; indeed, this works for any module.

The matrix whose columns are the generators of `K`, lifted to the ambient free module of `L` if necessary, can be obtained with the function generators, an abbreviation for which is `gens`.

We can check at least that the columns of `g` are syzygies of the columns of `f` by checking that `f*g` is zero.

Use the function syz if you need detailed control over the extent of the computation.

i1 : R = QQ[x..z]; |

i2 : f = vars R o2 = | x y z | 1 3 o2 : Matrix R <--- R |

i3 : K = kernel f o3 = image {1} | -y 0 -z | {1} | x -z 0 | {1} | 0 y x | 3 o3 : R-module, submodule of R |

i4 : L = super K 3 o4 = R o4 : R-module, free, degrees {3:1} |

i5 : L == source f o5 = true |

i6 : g = generators K o6 = {1} | -y 0 -z | {1} | x -z 0 | {1} | 0 y x | 3 3 o6 : Matrix R <--- R |

i7 : f*g o7 = 0 1 3 o7 : Matrix R <--- R |

i8 : f*g == 0 o8 = true |