Opened 9 years ago

Closed 9 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:

Status badges

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)

sage-trac_13061.patch (3.1 KB) - added by mjo 9 years ago.
Add an Expression.rectform() method.

Download all attachments as: .zip

Change History (9)

Changed 9 years ago by mjo

Add an Expression.rectform() method.

comment:1 Changed 9 years 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 9 years 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 9 years ago by mjo

  • Authors set to Michael Orlitzky

comment:4 follow-up: Changed 9 years 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: Changed 9 years 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 years 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 years ago by jdemeyer

  • Reviewers set to Timo Kluck

comment:8 Changed 9 years ago by jdemeyer

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