I have a homogeneous ideal $I=\langle f\_1,\ldots,f\_r\rangle$ of the polynomial ring $\mathbb C[X\_1,\ldots,X\_n]=:R$ where each of the $f\_i$ is actually over $\mathbb Z$. My computations are usually performed over $\mathbb Q$. As an additional note, the $f\_i$ are all homogeneous of the same degree. I also have a monomial $\mu = X^\alpha$, where $\alpha\in\mathbb N^n$ is some multi-index. I don't know if it matters that $\mu$ is a monomial.


Several computer algebra systems (magma, sage, macaulay2) can tell me that $\mu\in I$, but [only in SAGE I could find a method](http://www.sagemath.org/doc/reference/polynomial_rings/sage/rings/polynomial/multi_polynomial_element.html#sage.rings.polynomial.multi_polynomial_element.MPolynomial_polydict.lift) to compute $g\_1,\ldots,g\_r\in R$ with $\sum\_{i=1}^r g\_i f\_i = \mu$. Unfortunately, this method seems to crash the SAGE kernel, because after a couple of minutes the execution simply stops with no result, and SAGE has forgotten everything from the session. I have two questions:


1. How do Computer Algebra systems check ideal membership without actually creating a certificate? In other words, how do they know $\mu\in I$ without having the $g\_i$ that prove it?
2. I would really like to know those $g\_i$. Given that SAGE just flat-out crashes on me, do you know any other options I could try? There might be routines in other computer algebra systems that I am simply unaware of and which I could try.



Ideal Membership without Certificate?
This should really be a comment. But since I dont't have enough reputation I have to write it here.


If you only want to check ideal membership you "just" have to compute a Gröbner basis and check if all S-polynomials reduce to $0$. (the above mentioned computer algebra systems check ideal member ship in this way)


If you want to compute the $g\_i$ you need to compute the syzygies. (I think this is just bookkeeping during the Gröbner basis computation)


Edit: I think the CAS Singular is able to compute the $g\_i$ using the command "lift".
<https://www.singular.uni-kl.de/Manual/4-0-3/sing_513.htm>


