#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.

Reply via email to