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