#1956: implement multivariate power series arithmetic
--------------------------------------------------+-------------------------
Reporter: was | Owner: pernici
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-4.6.1
Component: commutative algebra | Keywords: multivariate
power series
Author: Niles Johnson | Upstream: N/A
Reviewer: Martin Albrecht, Simon King | Merged:
Work_issues: multivariate series on 1 generator |
--------------------------------------------------+-------------------------
Changes (by niles):
* status: needs_work => needs_review
Old description:
> Multivariate power series arithmetic has been requested a *lot*.
>
> == Apply: ==
>
> 1. (unnecessary as of sage 4.6) patch from #9443
> 1. [attachment:trac_1956_multi_power_series_new_4.patch]
> 1. [attachment:trac_1956_uni_multi_ps_2.patch]
> 1. [attachment:trac_1956_multi_ps_cleanup.patch]
New description:
Multivariate power series arithmetic has been requested a *lot*.
== Apply: ==
1. (unnecessary as of sage 4.6) patch from #9443
1. [attachment:trac_1956_multi_power_series_new_4.patch]
1. [attachment:trac_1956_uni_multi_ps_2.patch]
1. [attachment:trac_1956_multi_ps_cleanup.patch]
1. [attachment:trac_1956_one_variable_fix.patch]
--
Comment:
I think that the top-level constructors `PolynomialRing` and
`PowerSeriesRing` should return univariate rings instead of multivariate
rings in one variable. It is difficult to imagine a situation where
someone would want access to the "multivariate in one variable" versions
(e.g. they want to use some algorithm implemented for the multivariate
case that is not available in the univariate case), and even more
difficult to imagine that this is the preferred option of most users.
Someone who does need this functionality can still import the multivariate
constructor directly.
With [attachment:trac_1956_one_variable_fix.patch] we have:
{{{
sage: PowerSeriesRing(QQ,1,'a')
Power Series Ring in a over Rational Field
sage: PowerSeriesRing(QQ,1,'a') is PowerSeriesRing(QQ,'a')
True
}}}
{{{
sage: from sage.rings.multi_power_series_ring import
MPowerSeriesRing_generic
sage: MPowerSeriesRing_generic(QQ,1,'a')
Multivariate Power Series Ring in a over Rational Field
}}}
Unless someone here can think of a compelling reason to reverse this
change, I think we should also open a new ticket for the polynomial case.
In a related vein, we also have polynomial rings in no variables, and
these are different from the base ring:
{{{
sage: PolynomialRing(ZZ,'a',0)
Multivariate Polynomial Ring in no variables over Integer Ring
sage: PolynomialRing(ZZ,'a',0) is ZZ
False
}}}
For consistency, I've implemented the same behavior for power series
rings:
{{{
sage: PowerSeriesRing(QQ,0,'a')
Multivariate Power Series Ring in no variables over Rational Field
}}}
Perhaps these should both simply return the base ring -- I'm not so sure,
but in any case I hope it can be handled for both polynomials and power
series in a separate ticket.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/1956#comment:67>
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.