Opened 10 years ago
Closed 10 years ago
#13061 closed enhancement (fixed)
Add a symbolic expression interface to Maxima's rectform()
Reported by: | mjo | Owned by: | burcin |
---|---|---|---|
Priority: | major | Milestone: | sage-5.3 |
Component: | symbolics | Keywords: | |
Cc: | kcrisman, ddrake | Merged in: | sage-5.3.beta2 |
Authors: | Michael Orlitzky | Reviewers: | Timo Kluck |
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description
Right now, users have access to Maxima's rectform()
though the maxima_methods()
method. However, those methods remain undocumented, untested, and (more importantly?) hidden from tab-completion.
We can cure this for rectform()
, which can then be used in #11785.
Attachments (1)
Change History (9)
Changed 10 years ago by
comment:1 Changed 10 years ago by
- Status changed from new to needs_review
I've been distracted a few hundred times today so hopefully there aren't any stupid mistakes here.
comment:2 Changed 10 years ago by
..and since I forgot to refresh my patch, what is the preferred spacing of the .. note::
block? Most places in expression.pyx use three, but by analogy I would have deduced four.
comment:3 Changed 10 years ago by
comment:4 follow-up: ↓ 5 Changed 10 years ago by
- Status changed from needs_review to needs_work
This works great. One thing, though: I think that you should also make a global function rectform(x)
that calls x.rectform()
.
comment:5 in reply to: ↑ 4 ; follow-up: ↓ 6 Changed 10 years ago by
Replying to tkluck:
This works great. One thing, though: I think that you should also make a global function
rectform(x)
that callsx.rectform()
.
I disagree. It makes some sense to use the maxima names for methods on symbolic objects if they are that closely related. Only pollute the global name space with these if it is particularly desired to have the functionality available via that route. Even then, the sage name should be good and mnemonic and doesn't necessarily have to follow maxima. I don't know what rectform does and the name doesn't help explaining that.
Things like "limit" and "integral" deserve to be in the global namespace thanks to mathematical convention. "simplify" and "solve", however poor their definition is, are there due to tradition in computer algebra packages. If you want "rectform" in there too, you should argue its notability.
comment:6 in reply to: ↑ 5 Changed 10 years ago by
- Status changed from needs_work to positive_review
Replying to nbruin:
Replying to tkluck:
This works great. One thing, though: I think that you should also make a global function
rectform(x)
that callsx.rectform()
.I disagree.
I don't feel all that strongly about it, but it makes sense to me seeing how related it is to real_part
and imaginary_part
, which are in the global namespace. I agree with you in that I don't like the name rectform
, though.
Since I don't really mind either way and the patch looks good, I'll just give this a positive review and hopefully it'll get merged soon.
comment:7 Changed 10 years ago by
- Reviewers set to Timo Kluck
comment:8 Changed 10 years ago by
- Merged in set to sage-5.3.beta2
- Resolution set to fixed
- Status changed from positive_review to closed
Add an Expression.rectform() method.