#9792: kernel and inverse_image of (polynomial) ring maps
---------------------------+------------------------------------------------
Reporter: vbraun | Owner: AlexGhitza
Type: enhancement | Status: new
Priority: major | Milestone: sage-feature
Component: algebra | Keywords:
Author: | Upstream: N/A
Reviewer: | Merged:
Work_issues: |
---------------------------+------------------------------------------------
It would be nice if kernels and inverse images of ring maps were
implemented:
{{{
sage: R.<s,t>=PolynomialRing(QQ);R
Multivariate Polynomial Ring in s, t over Rational Field
sage: S.<x,y,z,w>=PolynomialRing(QQ);S
Multivariate Polynomial Ring in x, y, z, w over Rational Field
sage: f=S.hom([s^4,s^3*t,s*t^3,t^4],R);f
Ring morphism:
From: Multivariate Polynomial Ring in x, y, z, w over Rational Field
To: Multivariate Polynomial Ring in s, t over Rational Field
Defn: x |--> s^4
y |--> s^3*t
z |--> s*t^3
w |--> t^4
sage: f.inverse_image(0)
---------------------------------------------------------------------------
NotImplementedError Traceback (most recent call
last)
/home/vbraun/opt/sage-4.5.2/devel/sage-main/sage/libs/singular/<ipython
console> in <module>()
/home/vbraun/Sage/sage/local/lib/python2.6/site-
packages/sage/rings/morphism.so in
sage.rings.morphism.RingHomomorphism.inverse_image
(sage/rings/morphism.c:4168)()
NotImplementedError:
sage: kernel(f)
---------------------------------------------------------------------------
AttributeError Traceback (most recent call
last)
/home/vbraun/opt/sage-4.5.2/devel/sage-main/sage/libs/singular/<ipython
console> in <module>()
/home/vbraun/Sage/sage/local/lib/python2.6/site-
packages/sage/misc/functional.pyc in kernel(x)
907 ]
908 """
--> 909 return x.kernel()
910
911 def krull_dimension(x):
/home/vbraun/Sage/sage/local/lib/python2.6/site-
packages/sage/structure/element.so in
sage.structure.element.Element.__getattr__
(sage/structure/element.c:2632)()
/home/vbraun/Sage/sage/local/lib/python2.6/site-
packages/sage/structure/parent.so in
sage.structure.parent.getattr_from_other_class
(sage/structure/parent.c:2835)()
/home/vbraun/Sage/sage/local/lib/python2.6/site-
packages/sage/structure/parent.so in
sage.structure.parent.raise_attribute_error
(sage/structure/parent.c:2602)()
AttributeError: 'sage.rings.morphism.RingHomomorphism_im_gens' object has
no attribute 'kernel'
}}}
Here is the corresponding Singular computation:
{{{
sage: sage: singular.eval('''
....: ring R=0,(s,t),dp;
....: ring S=0,(x,y,z,w),dp;
....: setring R;
....: map f=S,ideal(s^4,s^3*t,s*t^3,t^4);
....: setring S;
....: ideal ker=kernel(R,f)
....: ''');
sage: sage: singular.get('ker')
'yz-xw,\nz3-yw2,\nxz2-y2w,\ny3-x2z'
sage: sage: print(_)
yz-xw,
z3-yw2,
xz2-y2w,
y3-x2z
}}}
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/9792>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
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-trac?hl=en.