#7711: integral() does not reduce coefficients in finite field
---------------------------------------+------------------------------------
Reporter: zimmerma | Owner: malb
Type: defect | Status: needs_info
Priority: major | Milestone: sage-5.0
Component: commutative algebra | Resolution:
Keywords: | Work issues:
Report Upstream: N/A | Reviewers: Paul Zimmermann
Authors: Alex Ghitza | Merged in:
Dependencies: | Stopgaps:
---------------------------------------+------------------------------------
Changes (by AlexGhitza):
* status: needs_review => needs_info
Comment:
Alright, I'm starting to see what you are objecting to, and I agree with
you. Just to make sure I get this right: even the documented examples
from the docstring of integral are inconsistent in this way
{{{
EXAMPLES::
sage: R.<x> = ZZ[]
sage: R(0).integral()
0
sage: f = R(2).integral(); f
2*x
Note that since the integral is defined over the same base ring
the
integral is actually in the base ring.
::
sage: f.parent()
Univariate Polynomial Ring in x over Integer Ring
If the integral isn't defined over the same base ring, then the
base ring is extended::
sage: f = x^3 + x - 2
sage: g = f.integral(); g
1/4*x^4 + 1/2*x^2 - 2*x
sage: g.parent()
Univariate Polynomial Ring in x over Rational Field
}}}
We want Sage to be less clever and more consistent, so the integral of 2
should be 2x in QQ[x] rather than in ZZ[x].
Of course, this is fun to implement, because you might have something
like:
{{{
sage: A.<a, b> = PolynomialRing(ZZ)
sage: C.<c> = PolynomialRing(A)
sage: D.<d> = PowerSeriesRing(C)
sage: R.<x> = PolynomialRing(D)
sage: f = a*x^2 + c*x
sage: f.parent()
Univariate Polynomial Ring in x over Power Series Ring in d over
Univariate Polynomial Ring in c over Multivariate Polynomial Ring
in a, b over Integer Ring
}}}
What I would like to do is have f.integral() live in
{{{
Univariate Polynomial Ring in x over Power Series Ring in d over
Univariate Polynomial Ring in c over Multivariate Polynomial Ring
in a, b over Rational Field
}}}
So I want to change to the fraction field at the very bottom of the chain
of extensions. This means starting with R and going down to ZZ step by
step, then changing ZZ to QQ and walking back up, changing all the
intermediate rings along the way. It can get expensive, but I guess
that's the price to pay for working with such monstrosities.
If my outline agrees with what you had in mind, I'll produce a new patch
based on it.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/7711#comment:18>
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.