#3979: Power series composition messes up precision
------------------------+---------------------------------------------------
Reporter: kedlaya | Owner: somebody
Type: defect | Status: needs_review
Priority: critical | Milestone: sage-4.7.2
Component: algebra | Keywords: power series, composition, precision
Work_issues: | Upstream: N/A
Reviewer: | Author: Francis Clarke
Merged: | Dependencies:
------------------------+---------------------------------------------------
Changes (by fwclarke):
* status: needs_work => needs_review
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.
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_rev1.patch
trac_3979_power_series_substitution_rev1.patch]
--
Comment:
I have attached a revised patch. All the previous failures have been
dealt with. Some changes were essentially trivial, but more major were:
1. Formal groups for elliptic curves have been rewritten to exploit the
multi-variable power series code available since 4.7.1
2. `local_coordinates_at_weierstrass` in
`sage/schemes/hyperelliptic_curves/hyperelliptic_generic.py` has been
substantially simplified.
3. At several places in
`sage/schemes/hyperelliptic_curves/hyperelliptic_padic_field.py`
substitution in a power series has had to be replaced by substitution in
the underlying polynomial. This works for now because in these instances
the p-adic radius of convergence is known.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/3979#comment:7>
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.