#17697: incorrect usage of Singular's factorize() in special rings
-------------------------+-------------------------------------------------
Reporter: | Owner:
jakobkroeker | Status: new
Type: defect | Milestone: sage-6.5
Priority: major | Keywords: Singular factorize interface
Component: | Authors:
interfaces | Report Upstream: Reported upstream. Developers
Merged in: | deny it's a bug.
Reviewers: | Branch:
Work issues: | Dependencies:
Commit: |
Stopgaps: |
-------------------------+-------------------------------------------------
Background: Singular behaves unexpectedly(?) in quotient rings;
Example (in Singular):
{{{
ring rng = 0,(x,b),lp;
short = 0;
qring qr = b^2-2;
poly f = x^2-2;
factorize(f); // expecting: (x-b)*(x+b) ?
//[1]:
// _[1]=1
// _[2]=x^2-2
//[2]:
// 1,1
}}}
This is (currently) by intention and is now documented upstream.
(
https://github.com/Singular/Sources/commit/d0a684deae0e95680bb1a9034bac826e37c75368
)
However, there are implications for interfacing to Singular's factory:
Imagine, a user would try to factorize the polynomial f as below:
{{{
sage: K0=GF(11)
sage: #K0=QQ
sage: R0.<b>=K0[]
sage: K.<b>=K0.extension(b^5+4)
sage: R1.<zzz>=K[]
sage: L=FractionField(R1)
sage: R.<x>=L[]
sage: f=x^4+1/(b*zzz)
sage: f.parent()._singular_()
// characteristic : 11
// 1 parameter : zzz
// minpoly : 0
// number of vars : 2
// block 1 : ordering lp
// : names b x
// block 2 : ordering C
// quotient ring from ideal
_[1]=b^5+4
sage: f.factor()
}}}
Since the called factor() routine ends in a Singular fallback (check! see
polynomial_element.pyx), factoring is done in Singular's quotient ring and
hence the obtained result will be unexpected
Related post at asksage:
http://ask.sagemath.org/question/25083/bug-in-roots/
In addition, f is incorrectly translated to Singular,
see
http://trac.sagemath.org/ticket/17696
so the result will be wrong anyway
--
Ticket URL: <http://trac.sagemath.org/ticket/17697>
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 unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.