#1956: implement multivariate truncated power series arithmetic
-------------------------------------------+--------------------------------
Reporter: was | Owner: pernici
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-4.6.2
Component: commutative algebra | Keywords: multivariate power
series
Author: Niles Johnson | Upstream: N/A
Reviewer: Martin Albrecht, Simon King | Merged:
Work_issues: |
-------------------------------------------+--------------------------------
Comment(by niles):
Replying to [comment:88 pernici]:
> niles wrote:
> > It sounds like you're willing to give that item a positive review. Are
you also willing to say that "The underlying concept is sound"?
>
> I think it is sound to use a background univariate series
> to implement total degree precision.
Thanks :)
>
> Concerning the 6th item (integration with the rest of sage)
> we should discuss what other approaches are available in Sage to deal
with
> multivariate series.
>
> Another approach to multivariate series is using series of series;
> this can be done with Sage's univariate power series or `gp`.
> ...
> The only thing to be decided in this ticket is if it is OK to keep the
> total degree precision as the default option in `PowerSeriesRing`.
>
With regard to "series of series", I believe there are some theoretical
subtleties which make this tricky. The
[http://pari.math.u-bordeaux.fr/pub/pari/manuals/2.3.3/users.pdf Pari
User's Manual] contains the following warning (1.2.4, page 22):
>> In the present version 2.3.3 of PARI, there are bugs in the handling of
power series of power series, i.e. power series in several variables. ...
This bug is difficult to correct because the mathematical problem itself
contains some amount of imprecision, and it is not easy to design an
intuitive generic interface for such beasts.
So I think total-degree precision should be the the default, until someone
writes code to carefully handle the other possibilities (or to call `gp`
-- see the next point).
> For long computations gp is much faster, especially with more than two
variables.
Yes, a more complete interface with `gp` is probably the right way to go.
However I think `PowerSeriesRing`, and its elements, should be native Sage
objects -- this is not the case with `gp` series, which makes them
unsuitable for the default power series. For example:
{{{
sage: q = gp('(1+x0+x1)^3 + O(x0^3) + O(x1^3)')
sage: type(q)
<class 'sage.interfaces.gp.GpElement'>
sage: q.parent()
PARI/GP interpreter
sage: q.base_ring()
PARI/GP interpreter
}}}
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/1956#comment:90>
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.