Opened 9 years ago

Last modified 9 years ago

#9792 new enhancement

kernel and inverse_image of (polynomial) ring maps

Reported by: vbraun Owned by: AlexGhitza
Priority: major Milestone: sage-feature
Component: algebra Keywords:
Cc: Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Description (last modified by vbraun)

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: 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: singular.get('ker')
'yz-xw,\nz3-yw2,\nxz2-y2w,\ny3-x2z'
sage: print(_)
yz-xw,
z3-yw2,
xz2-y2w,
y3-x2z

Change History (1)

comment:1 Changed 9 years ago by vbraun

  • Description modified (diff)
Note: See TracTickets for help on using tickets.