#1956: implement multivariate power series arithmetic
-----------------------------------+----------------------------------------
   Reporter:  was                  |       Owner:  malb        
       Type:  enhancement          |      Status:  needs_review
   Priority:  major                |   Milestone:  sage-feature
  Component:  commutative algebra  |    Keywords:              
     Author:  niles                |    Upstream:  N/A         
   Reviewer:                       |      Merged:              
Work_issues:                       |  
-----------------------------------+----------------------------------------
Changes (by newvalueoldvalue):

  * status:  new => needs_review
  * upstream:  => N/A
  * author:  => niles


Comment:

 I just attached a first version of multivariate power series.  In order to
 pass all tests, one also needs the patches at #9457 and #9443.  Without
 these, everything still works though.

 The implementation is based on an idea mentioned in this sage-devel
 [http://groups.google.com/group/sage-
 
devel/browse_thread/thread/40eb14f877b6218a/c30e824e24eee69d?lnk=gst&q=multivariate+power+series#c30e824e24eee69d
 thread]:
 use univariate power series over multivariate polynomial ring to do
 arithmetic and track total-degree precision, but display as multivariate
 power series.

 Although there are some limitations of this approach, I think there's a
 useful amount of functionality here and I'm happy with how this first
 version works.  Having said that, here are some of the issues that are
 still unresolved.  I'd be happy to hear recommendations about how to
 prioritize them, or others :)

   * sparse:  I tried to include sparse=True in the right places, but I
 haven't really tested to see whether it's actually better.

   * inherited functions: some of them (e.g. 'variable') don't make sense;
 is there a way to block inheritance of certain attributes?  (del or
 delattr?) For now, they just return "`NotImplementedError`"s

   * inherited functions 2: for multi_power_series_ring_element, there is a
 pile of functions that could be implemented but aren't (e.g. sqrt,
 derivative, generating functions, etc).  They're noted in the
 documentation and lumped together in the code.

   * (rich) comparison: comparisons seem to work, but someone who
 understands the past and future of sage/python comparisons should take a
 look at it.  (The classes I'm inheriting from seem to use an older
 system.)

   * _l_action_ for multivariate power series:  the function works, but
 doesn't get called when it should; I don't understand how to fix that.
 (This only affects cases where the scalar isn't already in the base ring,
 like when you want to multiply a power series over ZZ by a rational and
 have the result automatically move to a power series over QQ.)

   * division of multivariate power series:  works fine when the
 denominator is a unit, but not in other cases (even when the result would
 not be a Laurent series).

   * un/pickling: I don't understand this so I haven't done anything with
 it.

   * cython where appropriate:  I don't know C or python, so I've ignored
 this.

   * unifying multivariate and univariate power series, as has been done
 for polynomials:  seems like a project for another time.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/1956#comment:3>
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