#3979: Power series composition messes up precision
--------------------------------------------------------+-------------------
Reporter: kedlaya | Owner:
somebody
Type: defect | Status:
needs_review
Priority: critical | Milestone:
sage-5.1
Component: algebra | Resolution:
Keywords: power series, composition, precision | Work issues:
Report Upstream: N/A | Reviewers: Kiran
Kedlaya, Luis Felipe Tabera Alonso
Authors: Francis Clarke | Merged in:
Dependencies: | Stopgaps: 12783
--------------------------------------------------------+-------------------
Changes (by fwclarke):
* status: needs_work => needs_review
* milestone: sage-5.0 => sage-5.1
Old description:
> The composition of two power series is sometimes returned with the wrong
> precision. A trivial example:
>
> {{{
> sage: pow.<u> = PowerSeriesRing(Rationals()); print (1 + O(u^4))(u)
> 1
> }}}
> where the return value should have precision 4 rather than infinity. A
> more nontrivial example:
>
> {{{
> sage: pow.<u> = PowerSeriesRing(Rationals()); print (1 + u^2 +
> O(u^4))(u^2)
> 1 + u^4 + O(u^10)
> }}}
> where the return value should have precision 8 instead of 10.
>
> ----
>
> Apply
> [http://trac.sagemath.org/sage_trac/attachment/ticket/3979/trac_3979_power_series_substitution_rev1.patch
> trac_3979_power_series_substitution_rev1.patch]
New description:
The composition of two power series is sometimes returned with the wrong
precision. A trivial example:
{{{
sage: pow.<u> = PowerSeriesRing(Rationals()); print (1 + O(u^4))(u)
1
}}}
where the return value should have precision 4 rather than infinity. A
more nontrivial example:
{{{
sage: pow.<u> = PowerSeriesRing(Rationals()); print (1 + u^2 +
O(u^4))(u^2)
1 + u^4 + O(u^10)
}}}
where the return value should have precision 8 instead of 10.
----
Apply
[http://trac.sagemath.org/sage_trac/attachment/ticket/3979/trac_3979_power_series_substitution_rev2.patch
trac_3979_power_series_substitution_rev2.patch]
--
Comment:
Replying to [comment:8 lftabera]:
Finally I have a revised patch. I have applied all your suggestions with
two exceptions. Comments on some of them follow:
> On file laurent_series_ring_element.pyx @446
Rather than changing the documentation I have changed the code, so it does
now return a Laurent polynomial.
> On file multi_power_series_ring @964,989
I've left this for another ticket, as you suggested.
> On file power_series_mpoly @74
I've left this unchanged, for reasons explained [comment:9 above].
> On file scheme.py @178
I've undone this change. It belongs in another ticket.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/3979#comment:12>
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.