Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

primary decomposition doesn't work when ideal is in a quotient polynomial ring #16381

Open
williamstein opened this issue May 20, 2014 · 11 comments

Comments

@williamstein
Copy link
Contributor

I was trying to do a simple example on page 51 of Atiyah-Macdonald using Sage, and it fails:

R.<x,y,z> = QQ[]
I = R.ideal([x*y - z^2])
A.<xbar,ybar,zbar> = R.quotient(I)
p = A.ideal([x,z])
p.primary_decomposition()

boom! ---

Error in lines 5-5
Traceback (most recent call last):
  File "/projects/71755b5a-fde1-45bc-9ca8-d06d5b9749f1/.sagemathcloud/sage_server.py", line 733, in execute
    exec compile(block+'\n', '', 'single') in namespace, locals
  File "", line 1, in <module>
  File "/usr/local/sage/sage-6.2.rc0/local/lib/python2.7/site-packages/sage/rings/polynomial/multi_polynomial_ideal.py", line 604, in __call__
    return self.f(self._instance, *args, **kwds)
  File "/usr/local/sage/sage-6.2.rc0/local/lib/python2.7/site-packages/sage/rings/polynomial/multi_polynomial_ideal.py", line 1146, in primary_decomposition
    return [I for I, _ in self.complete_primary_decomposition(algorithm)]
  File "/usr/local/sage/sage-6.2.rc0/local/lib/python2.7/site-packages/sage/rings/polynomial/multi_polynomial_ideal.py", line 604, in __call__
    return self.f(self._instance, *args, **kwds)
  File "/usr/local/sage/sage-6.2.rc0/local/lib/python2.7/site-packages/sage/rings/polynomial/multi_polynomial_ideal.py", line 505, in wrapper
    return func(*args, **kwds)
  File "/usr/local/sage/sage-6.2.rc0/local/lib/python2.7/site-packages/sage/rings/polynomial/multi_polynomial_ideal.py", line 1068, in complete_primary_decomposition
    P = primdecSY(self)
  File "function.pyx", line 1285, in sage.libs.singular.function.SingularFunction.__call__ (sage/libs/singular/function.cpp:13025)
TypeError: Cannot call Singular function 'primdecSY' with ring parameter of type '<class 'sage.rings.quotient_ring.QuotientRing_generic_with_category'>'

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

@malb
Copy link
Member

malb commented May 21, 2014

comment:1

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())

@malb
Copy link
Member

malb commented Jun 25, 2014

Author: Martin Albrecht

@malb
Copy link
Member

malb commented Jun 25, 2014

Changed keywords from none to sd59

@malb
Copy link
Member

malb commented Jun 25, 2014

Branch: u/malb/trac_16381

@malb
Copy link
Member

malb commented Jun 25, 2014

Commit: c237b07

@malb
Copy link
Member

malb commented Jun 25, 2014

New commits:

c237b07fixing #16381: primary decomposition for quotient rings

@miguelmarco
Copy link
Contributor

comment:5

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

@malb
Copy link
Member

malb commented Jun 26, 2014

Upstream: Reported upstream. No feedback yet.

@malb
Copy link
Member

malb commented Jun 28, 2014

Changed upstream from Reported upstream. No feedback yet. to Reported upstream. Developers acknowledge bug.

@malb
Copy link
Member

malb commented Jun 28, 2014

comment:7

It's confirmed as a bug in upstream.

@sagetrac-vbraun-spam sagetrac-vbraun-spam mannequin modified the milestones: sage-6.3, sage-6.4 Aug 10, 2014
@sagetrac-jakobkroeker
Copy link
Mannequin

sagetrac-jakobkroeker mannequin commented Oct 29, 2014

comment:9

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.

@mkoeppe mkoeppe removed this from the sage-6.4 milestone Dec 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants