Ticket #13061 (closed enhancement: fixed)

Opened 12 months ago

Last modified 9 months ago

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 Work issues:
Report Upstream: N/A Reviewers: Timo Kluck
Authors: Michael Orlitzky Merged in: sage-5.3.beta2
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

sage-trac_13061.patch Download (3.1 KB) - added by mjo 12 months ago.
Add an Expression.rectform() method.

Change History

Changed 12 months ago by mjo

Add an Expression.rectform() method.

comment:1 Changed 12 months ago by mjo

  • 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 12 months ago by mjo

..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 12 months ago by mjo

  • Authors set to Michael Orlitzky

comment:4 follow-up: ↓ 5 Changed 9 months ago by tkluck

  • 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 9 months ago by nbruin

Replying to tkluck:

This works great. One thing, though: I think that you should also make a global function rectform(x) that calls x.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 9 months ago by tkluck

  • 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 calls x.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 9 months ago by jdemeyer

  • Reviewers set to Timo Kluck

comment:8 Changed 9 months ago by jdemeyer

  • Status changed from positive_review to closed
  • Resolution set to fixed
  • Merged in set to sage-5.3.beta2
Note: See TracTickets for help on using tickets.