Opened 11 years ago
Closed 11 years ago
#3276 closed enhancement (fixed)
[with patch, with positive review] more generic assumptions in calculus
Reported by: | robertwb | Owned by: | gfurnish |
---|---|---|---|
Priority: | major | Milestone: | sage-3.0.4 |
Component: | calculus | Keywords: | |
Cc: | Merged in: | ||
Authors: | Reviewers: | ||
Report Upstream: | Work issues: | ||
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description
For example:
sage: var('n,m') (n, m) sage: assume(n, m, 'integer') sage: sin(n*m*pi) 0 sage: forget() sage: sin(n*m*pi) sin(pi*m*n)
Attachments (1)
Change History (10)
Changed 11 years ago by
comment:1 Changed 11 years ago by
- Summary changed from [with patch] more generic assumptions in calculus to [with patch, needs review] more generic assumptions in calculus
comment:2 Changed 11 years ago by
- Milestone changed from sage-3.0.3 to sage-3.0.2
- Summary changed from [with patch, needs review] more generic assumptions in calculus to [with patch, positive review] more generic assumptions in calculus
comment:3 Changed 11 years ago by
- Summary changed from [with patch, positive review] more generic assumptions in calculus to [with patch, mixed review] more generic assumptions in calculus
I'm giving this a negative review - see the email I'm writing to sage-devel on how introducing more maxima-isms without serious consideration is bad. There is nothing wrong with the code (so it is probably safe to use as a patch if someone needs this feature now), but introducing code to deprecate it two weeks or three weeks later is not good practice in my opinion.
comment:4 Changed 11 years ago by
This is a feature that people have requested from me personally many times, so I think it's worthy of inclusion. I am skeptical that the new symbolics can be a drop-in replacement for maxima in two or three weeks (would be happy to be proven wrong) so I think that it has value. Also, the exposed interface, though it passes strings to maxima, is not tied to the way maxima does things and could easily be used in the new symbolics (if not, they are not a drop-in replacement).
Would it be better if there was a smaller, limited set of options (e.g. "integer", "even", "odd", "rational", ...) that we will be sure to want to support in the future.
comment:5 Changed 11 years ago by
Drop in replacement for Maxima? doubtful. Drop in replacement for sage.calculus? almost certainly. Part of that is changing how assumptions work. Like it or not assumptions are tied to the maxima way of doing things. What makes you think I'm going to choose an assumption model that is 100% compatible with the Maxima way? You can declare variables to be in ZZ instead of having to assume it, so immediately your method becomes very inefficient. Also your patch has horrible error checking. It allows for declaring a variable to be analytic or increasing. This should almost certainly be handled better, even if your making an argument that this should go in now. I am not going to waste time implementing complicated features in symbolics because people wern't willing to design them properly.
comment:6 Changed 11 years ago by
To summarize, you don't want this feature because it is at odds with the way you are handling it in your symbolics package (which is a perfectly valid argument).
comment:7 Changed 11 years ago by
Basically yes.
comment:8 Changed 11 years ago by
- Summary changed from [with patch, mixed review] more generic assumptions in calculus to [with patch, with positive review] more generic assumptions in calculus
After discussion at dev1 we have decided that we should merge this but only the assume function should be considered "public" in that it will be supported after the symbolics rewrite. The other support classes/methods will probably go away.
comment:9 Changed 11 years ago by
- Milestone changed from sage-3.1.1 to sage-3.0.4
- Resolution set to fixed
- Status changed from new to closed
Merged in Sage 3.0.4.alpha1
Excellent work Robert -- this is really nice. The code applies, passes, tests, and is well documented.