Coefficients such that linear combination lies in an ideal

abstract-algebracommutative-algebragroebner-basisidealsring-theory

Let $R$ be a ring, $I$ an ideal, and $\langle g_1, \ldots, g_m \rangle$ a finitely generated ideal. Considering the intersection $I \cap \langle g_1, \ldots, g_m \rangle$, I became interested in the set of coefficients $c \in R^m$ such that $\sum_i c_i g_i \in I$.

Question: is there an algorithm to calculate $\{ c \in R^m : \sum_i c_i g_i \in I \}$?

It seems to be an $R$-module. It is easy to see that $\prod_i (I : (g_i))$ is contained in it (which contains $IR^m$).

Does it have a name? Can it be expressed in terms of some other objects which can be computed?

I am interested in the case $R = k[x_1,\ldots,x_n]$ where $k$ is a field, and (so) the ideal $I$ is also finitely generated. Maybe a Groebner basis of the intersection could help.


Solution attempt: Suppose $I \cap \langle g_1, \ldots, g_m \rangle$ is finitely generated (e.g. $R$ is Noetherian). Say it is equal to $\langle h_1, \ldots, h_t \rangle$, and express $h_s = \sum_i b_{s,i} g_i$ with $b_{s,i} \in R$. Then $b_s = (b_{s,i}) \in R^m$ is contained in the set I'm interested in, for each $s=1,\ldots,t$. So the span $Rb_1+ \ldots+ Rb_t \subset R^m$ is contained in the set I'm interested in.

Now the question is whether a different choice of basis for the intersection (or a different choice of coefficients) can give more elements in the span, and whether $Rb_1 + \ldots + Rb_t$ exhausts the set I'm interested in.

Best Answer

Suppose $I = \langle f_1, \ldots, f_r\rangle$ and consider the map $R^r \oplus R^m \twoheadrightarrow I + J$ that sends $(b,c) \mapsto \sum_j b_j f_j + \sum_i c_i g_i$.

Its kernel $K$ is the first module of syzygies for $I+J$. The projection of $K$ to $R^m$ is exactly the $R$-module $T$ that you want.

Proof. The projection of $K$ to $R^m$ consists of those $c \in R^m$ for which there exists $b$ such that $\sum c_i g_i = -\sum b_j f_j \in I$, and for every $c \in R^m$ with $\sum c_i g_i \in I$ there exists such a $b$.

So the algorithm is: calculate the first module of syzygies for $I+J$ and project to $R^m$.


Example: $I = \langle f \rangle = \langle x^2 + y^2 - 1\rangle$ and $J = \langle \frac{\partial f}{\partial x},\frac{\partial f}{\partial y}\rangle = \langle 2x, 2y \rangle$. In SageMath:

sage: R.<x,y> = PolynomialRing(QQ,2)
sage: I = R.ideal(x^2+y^2-1)
sage: J = R.ideal(2*x, 2*y)
sage: T = (I+J).syzygy_module()[:,len(I.gens()):]; T
[           -y             x]
[          x*y       y^2 - 1]
[x^2 + y^2 - 1             0]

Here the projection to $R^m$ is achieved by slicing the matrix of generators of $K$.

The rows of the resulting matrix are generators of $T$.

In the example we see that $x\frac{\partial}{\partial y}-y\frac{\partial}{\partial x}$ is a polynomial vector field on the circle and furthermore $IR^m \subset T$.


One might be more interested in a (smaller) set of generators for the quotient $T/IR^m$.

To this end we can find the module of syzygies for $T + IR^m$ and project to the space of coefficients for generators of $T$; these are syzygies for $T$ modulo $IR^m$. For every such syzygy modulo $IR^m$ where one of the coefficients is an invertible constant, remove the respective generator (because it can be expressed in terms of the others, modulo $IR^m$).


Continuing the example in Singular:

> ring r=0,(x,y),dp;
> module n = [-y, x], [xy, y2-1], [x2+y2-1,0], [x2+y2-1,0], [0,x2+y2-1]; // T + IR^m
> LIB "matrix.lib";
...
> print(submat(transpose(syz(n)),1..3,1..3));
0,   0, -1,
x,   1, 0, 
y2-1,-x,y 

Here we see that columns two and three contain invertible constants, so the second and third generators can be removed.

So in this example $T/IR^m$ is generated by $(-y, x)$.


For completeness, the calculation above can be achieved (in general) through the SageMath interface to Singular:

sage: import itertools
sage: m = len(J.gens())
sage: IRm = matrix([[i if j == b else 0 for j in range(0,m)]
                    for (i,b) in itertools.product(I.gens(),range(0, m))])
sage: r = R._singular_()
sage: n = singular(map(list, list(T) + list(IRm)), type='module') # T + IR^m
sage: singular('transpose(syz(%s))' % n.name(), type='matrix').sage()[:,0:T.nrows()]
[      0       0      -1]
[      x       1       0]
[y^2 - 1      -x       y]

A final useful remark is that the set of $\sum c_i g_i$, where $c$ ranges over the generators of $T$, is a set of generators for $I \cap J$. In SageMath:

sage: R.ideal([sum(map(prod,zip(t,J.gens()))) for t in T]) == I.intersection(J)
True

The proof attempt in the question was an attempt to reverse this process.

Related Question