#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.

Reply via email to