Dear Simon, Thank you very much for your help. Regards, Santanu
On 26 February 2017 at 00:03, Simon King <simon.k...@uni-jena.de> wrote: > Hi Santanu, > > I am sorry that your question was unanswered for so long. > > On 2017-02-24, Santanu Sarkar <sarkar.santanu....@gmail.com> wrote: > > How to check $x+4 \in <1+x+x^2+2x^3>$ in the ring $\mathbb{Z}_8[x]$, > where > ><1+x+x^2+2x^3> is the ideal generated by 1+x+x^2+2x^3? > > If yes, how to find $g(x)$ so that $g(x) (1+x+x^2+2x^3)=x+4$? > > Here, Singular (or libsingular) can help. Singular provides the method > "lift". You are working in ZZ/8[x], which is a quotient of ZZ[x]. Hence, > your relation ideal has the two generators 1+x+x^2+2x^3 and 8. > > A slight complication: The default implementation of ZZ[x] does not use > Singular. Hence, below I implicitly force using singular by defining a > *multivariate* polynomial ring over ZZ: > sage: R.<x,y> = ZZ[] > sage: I = [1+x+x^2+2*x^3, 8]*R > > And then you can check containment in a straight forward way: > sage: 6*x^2 + 6*x + 2 in I > True > sage: x+4 in I > False > > So, it should be possible to express 6*x^2+6*x+2 in terms of 8 and > 1+x+x^2+2*x^3. Indeed, using Singular's lift, we obtain this: > sage: from sage.libs.singular.function import singular_function > sage: lift = singular_function('lift') > sage: L = lift(I, 6*x^2 + 6*x + 2); L > [24*x^2 - 12*x - 6] > [ -6*x^5 + 3*x + 1] > sage: L[0]*I.0+L[1]*I.1 > (6*x^2 + 6*x + 2) > sage: lift(I, x+4) > Traceback (most recent call last): > ... > RuntimeError: error in Singular function call 'lift': > 2nd module does not lie in the first > > Best regards, > Simon > > -- > You received this message because you are subscribed to the Google Groups > "sage-support" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sage-support+unsubscr...@googlegroups.com. > To post to this group, send email to sage-support@googlegroups.com. > Visit this group at https://groups.google.com/group/sage-support. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "sage-support" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-support+unsubscr...@googlegroups.com. To post to this group, send email to sage-support@googlegroups.com. Visit this group at https://groups.google.com/group/sage-support. For more options, visit https://groups.google.com/d/optout.