#1956: implement multivariate power series arithmetic
------------------------------------------------------------------------------+
Reporter: was |
Owner: malb
Type: enhancement |
Status: needs_work
Priority: major |
Milestone: sage-4.6
Component: commutative algebra |
Keywords: multivariate power series
Author: Niles Johnson |
Upstream: N/A
Reviewer: Martin Albrecht, Simon King |
Merged:
Work_issues: remove `MPowerSeriesRing`, implement through `PowerSeriesRing` |
------------------------------------------------------------------------------+
Changes (by niles):
* status: needs_review => needs_work
* work_issues: => remove `MPowerSeriesRing`, implement through
`PowerSeriesRing`
Comment:
For what it's worth, here is the specific issue I'm stuck on:
`PowerSeries` allows the argument `default_prec` to be specified using
either the first or second position:
{{{
sage: T = PowerSeriesRing(QQ,'t',3)
sage: T.default_prec()
3
sage: T = PowerSeriesRing(QQ,3,names='t')
sage: T.default_prec()
3
sage: T.variable_name()
't'
}}}
So what's the best way to preserve this functionality, but also allow
creation of multivariate power series using the same (or similar) syntax
as `PolynomialRing` uses? e.g.
{{{
sage: R = PolynomialRing(QQ,3,'r'); R
Multivariate Polynomial Ring in r0, r1, r2 over Rational Field
sage: R = PolynomialRing(QQ,'r',3); R
Multivariate Polynomial Ring in r0, r1, r2 over Rational Field
}}}
Note, on the other hand, that the following give errors:
{{{
sage: T = PowerSeriesRing(QQ,3,'t')
Traceback (most recent call last):
...
ValueError: first letter of variable name must be a letter
sage: T = PowerSeriesRing(QQ,3,name='t')
Traceback (most recent call last):
...
TypeError: PowerSeriesRing() got multiple values for keyword argument
'name'
}}}
To me, it seems that the current behavior (assuming integer arguments are
meant to be `default_prec`) should be deprecated, and the allowed syntax
of `PowerSeriesRing` should mirror that of `PolynomialRing`.
Oh, I just realized what I should try: Make `PowerSeriesRing(QQ,3,'t')`
and `PowerSeriesRing(QQ,'t,u,v')` create multivariate power series rings,
and raise deprecation warnings in the other cases (as long as the rest of
sage doesn't depend too heavily on this behavior); then `MPowerSeriesRing`
never has to exist, `PowerSeriesRing` will sort of work as expected, and
eventually it can be brought properly in line with `PolynomialRing`. How
does that sound to other people here?
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/1956#comment:38>
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.