Dear List,
I'm trying to do some algebraic geometrical / arithmetical computation
with Sage and I find myself stuck on the following dumb problem: if I
have an ideal J of a quotient ring R/I (where R is a polynomial ring
and I some ideal of it), I wish to construct the ideal of R (called
p^{-1}(J) or perhaps even simply I+J) which is obtained by pulling
back J by the canonical map p:R->R/I. This presents no algorithmic
difficulty, since I is given by generators (in R), and J is also given
by generators (in R/I, but they are themselves represented by elements
of R) and it is just a question of taking the union of these lists of
generators (seeing those of J in R/I as arbitrary representatives in
R) to obtain the desired idea. Unfortunately, this doesn't seem to
work (probably because Sage doesn't know how to handle the canonical
surjection specially?):
vega david /usr/local/src/sage-3.4 $ ./sage
----------------------------------------------------------------------
| Sage Version 3.4, Release Date: 2009-03-11 |
| Type notebook() for the GUI, and license() for information. |
----------------------------------------------------------------------
sage: R.<x,y> = QQ['x','y']
sage: I = Ideal(y^2 - x^3 - x)
sage: Rq = R.quotient(I)
sage: p = R.hom(Rq)
sage: J = Ideal(p(y)-1)
sage: J
Ideal (ybar - 1) of Quotient of Multivariate Polynomial Ring in x, y over
Rational Field by the ideal (-x^3 + y^2 - x)
sage: p.inverse_image(J)
---------------------------------------------------------------------------
NotImplementedError Traceback (most recent call last)
/usr/src/local/sage-3.4/<ipython console> in <module>()
/usr/src/local/sage-3.4/local/lib/python2.5/site-packages/sage/rings/morphism.so
in sage.rings.morphism.RingHomomorphism.inverse_image
(sage/rings/morphism.c:3480)()
NotImplementedError:
sage: whatiwantedwasthis = I + Ideal(y-1)
sage: whatiwantedwasthis
Ideal (-x^3 + y^2 - x, y - 1) of Multivariate Polynomial Ring in x, y over
Rational Field
sage: p(whatiwantedwasthis)
Ideal (0, ybar - 1) of Quotient of Multivariate Polynomial Ring in x, y over
Rational Field by the ideal (-x^3 + y^2 - x)
sage: p(whatiwantedwasthis) == J
True
By comparison, Macaulay2 does this:
vega david ~ $ /opt/Macaulay2-1.2-r8438/bin/M2
Macaulay 2, version 1.2
with packages: Elimination, IntegralClosure, LLLBases, PrimaryDecomposition,
ReesAlgebra, SchurRings, TangentCone
i1 : R = QQ[x,y]
o1 = R
o1 : PolynomialRing
i2 : I = ideal(y^2-x^3-x)
3 2
o2 = ideal(- x + y - x)
o2 : Ideal of R
i3 : Rq = R/I
o3 = Rq
o3 : QuotientRing
i4 : p = map(Rq,R,matrix{{x,y}})
o4 = map(Rq,R,{x, y})
o4 : RingMap Rq <--- R
i5 : J = ideal(y-1)
o5 = ideal(y - 1)
o5 : Ideal of Rq
i6 : preimage(p,J)
3
o6 = ideal (y - 1, x + x - 1)
o6 : Ideal of R
i7 : use R; whatiwantedwasthis = I + ideal(y-1)
3 2
o8 = ideal (- x + y - x, y - 1)
o8 : Ideal of R
i9 : o6 == whatiwantedwasthis
o9 = true
i10 : p(whatiwantedwasthis)
o10 = ideal (0, y - 1)
o10 : Ideal of Rq
i11 : p(whatiwantedwasthis) == J
o11 = true
(Unfortunately, I can't do my computations in Macaulay2 because I need
polynomial rings over number fields - the above example is in Q - and
it can't handle them.)
So, is there a way in Sage to pull back an ideal by a canonical map?
--
David A. Madore
( http://www.madore.org/~david/ )
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---