# Software to compute generators of a module over polynomial ring

Let $$A=\mathbb{R}[x_1,\dots,x_n]$$ be the algebra of real polynomials in $$n$$ variables. Fix polynomials $$p_1,\dots,p_k\in A$$.

Consider the subset $$M:=\{(q_1,\dots,q_k)\in A^k|\, p_1q_1+\dots+p_kq_k=0\}.$$ Clearly $$M$$ is an $$A$$-submodule of $$A^k$$. Necessarily $$M$$ is finitely generated.

I am wondering if there exists a software which allows to compute explicit generators of $$M$$ as an $$A$$-module.

In my case $$n=16,k=10$$, and all $$p_i$$'s are explicit homogeneous polynomials of second degree.

What you compute is the "syzygy module" of $$p_1,\ldots,p_k$$.

You can try the following M2 script to check the computation times in Macaulay 2 for different $$n$$'s and $$k$$'s.

For me $$n=16, k=6$$ was a matter of minutes, but $$k > 6$$ seems to take much longer.

If you decrease the sparsity of your $$p_i$$ by setting Density to 0.1, 0.5 or higher, you will probably be out of luck with your computation.

n = 16
k = 10
R=QQ
--- or R=ZZ/23 or any other prime
A=R[x_1..x_n]
mat = random(A^1, A^{k:-2}, Density=>0.05)
erz = gens ker mat