Open williamstein opened 10 years ago
So we'd want somthing like this?
sage: R.<x,y,z> = QQ[]
sage: I = R.ideal([x*y - z^2])
sage: A.<xbar,ybar,zbar> = R.quotient(I)
sage: J = A.ideal([x,z])
# primary decomposition starts here
sage: J = Ideal(f.lift() for f in p.gens())
sage: Q = Sequence(Ideal(A(f) for f in q.gens()) for q in (I + J).primary_decomposition())
Author: Martin Albrecht
Changed keywords from none to sd59
Branch: u/malb/trac_16381
New commits:
c237b07 | fixing #16381: primary decomposition for quotient rings |
Am i missing something or singular can give incorrect anwers in this case? :
SINGULAR / Development
A Computer Algebra System for Polynomial Computations / version 3-1-6
0<
by: W. Decker, G.-M. Greuel, G. Pfister, H. Schoenemann \ Dec 2012
FB Mathematik der Universitaet, D-67653 Kaiserslautern \
> ring r=0,(x,y,z),dp;
> ideal i=z2-x2-y2;
> qring q = i;
> setring q;
> ideal j0=y2;
> ideal j1=x-z;
> ideal j2=x+z;
> LIB "primdec.lib";
// ** loaded /home/mmarco/sage/local/share/singular/primdec.lib (14732,2012-03-30)
// ** loaded /home/mmarco/sage/local/share/singular/ring.lib (15322,2012-10-12)
// ** loaded /home/mmarco/sage/local/share/singular/absfact.lib (14191,2011-05-04)
// ** loaded /home/mmarco/sage/local/share/singular/triang.lib (13499,2010-10-15)
// ** loaded /home/mmarco/sage/local/share/singular/matrix.lib (13658,2010-11-16)
// ** loaded /home/mmarco/sage/local/share/singular/nctools.lib (14246,2011-05-26)
// ** loaded /home/mmarco/sage/local/share/singular/inout.lib (13499,2010-10-15)
// ** loaded /home/mmarco/sage/local/share/singular/random.lib (14661,2012-03-05)
// ** loaded /home/mmarco/sage/local/share/singular/poly.lib (14852,2012-04-30)
// ** loaded /home/mmarco/sage/local/share/singular/elim.lib (14661,2012-03-05)
// ** loaded /home/mmarco/sage/local/share/singular/general.lib (14191,2011-05-04)
> primdecGTZ(j0);
[1]:
[1]:
_[1]=y2
[2]:
_[1]=y
but j0 is the inttersection of j1 and j2, which are prime ideals:
> intersect(j1,j2);
_[1]=x2-z2
_[2]=xy2+y2z
> factorize(xy2+y2z);
[1]:
_[1]=1
_[2]=x+z
_[3]=y
[2]:
1,1,2
> primdecGTZ(j1);
[1]:
[1]:
_[1]=x-z
[2]:
_[1]=x-z
> primdecGTZ(j2);
[1]:
[1]:
_[1]=x+z
[2]:
_[1]=x+z
Upstream: Reported upstream. No feedback yet.
Changed upstream from Reported upstream. No feedback yet. to Reported upstream. Developers acknowledge bug.
It's confirmed as a bug in upstream.
Primary decomposition in quotient rings is not yet supported by Singular, see documentation.
Consider that Singular usually never checks if used parameters are valid or allowed!! Their philosophy is/was that the user should know what he is doing, a very unfortunate one from my point of view.
Parameter check is now (since ver 4.0 ) done for primary decomposition. Maybe I will add support for primary decomposition in quotient rings, so bug me continuously to get this done.
I was trying to do a simple example on page 51 of Atiyah-Macdonald using Sage, and it fails:
boom! ---
Upstream: Reported upstream. Developers acknowledge bug.
Component: commutative algebra
Keywords: sd59
Author: Martin Albrecht
Branch/Commit: u/malb/trac_16381 @
c237b07
Issue created by migration from https://trac.sagemath.org/ticket/16381