New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
More immediate symbolic powers simplification #23368
Comments
comment:2
Thanks for Cc'ing me ! I'm not convinced that's necessarily the Right Thing (TM) to do : it might prohibit more interesting operations, such as factorization after I was thinking of adding (after 8.0) a few methods for symbolic expressions, such as Changing Maxima's domain can be done easily enough for one evaluation of a given expression E by asking Could we take a bit of time to think about what would be useful to implement in such methods ? This simplification is an obvious candidate, but probably not the only one, and probably not as a systematic simplification. I'm also considering extending BTW, this (as well as your previous work on symbolic sums and products) and the recent Furthermore, let's not forget that "Syntactic sucar causes cancer of the semicolon" (A. J. Perlis, IIRC) : in other words, let's not paint ourselves in a too-difficult-to-maintain corner. |
comment:3
Fact is, there is already such simplification with integer exponents. Please give an example where extension to rational should not be allowed. Note also there is a canonical form Pynac adheres to and that affects if this simplification is applied (leading coeff positive). Note too that the long term goal is to become more independent from Maxima, for known reasons. |
comment:4
Replying to @rwst:
No example on hand at the moment, but ISTR to have been bitten by too-eager simplifications in integration of trig functions (undergrad-level exercises...) : "obvious" changes of variable became largely unobvious, and some factorizations were missed.
And that sometimes gives birth to strange expressions, that have to be re-massaged. A minimal example (quoted from memory, no Sage available ATM) :
Agreed. But I have to confess that, to me at least, Maxima is muche easier to grasp than Pynac (my command of C++ is not up to the level of mt grasp of Lisp and Maxima...). |
comment:6
You can try it out. I added the Pynac patch in this branch, so you can see yourself which doctests fail and how they fail. Test the directories New commits:
|
Commit: |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:8
Actually a better alternative is to draw only the rational part of the root outside. The new patch does it and "fails" only these tests:
Do you agree the failures are okay? I'm still investigating the fails in |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:10
After the last fix I feel justified to introduce this change in Pynac-0.7.10. I'll remove the branch now but it can still be checked out for testing. This ticket now depends on a future Pynac upgrade ticket, and it should add the |
Changed branch from u/rws/more_immediate_symbolic_powers_simplification to none |
Changed commit from |
Changed upstream from Reported upstream. No feedback yet. to Fixed upstream, in a later stable release. |
Dependencies: pynac-0.7.10 |
comment:11
There were complications, see #23325 comment:21 |
comment:12
Examples and doctests that would change:
That |
Changed upstream from Fixed upstream, in a later stable release. to none |
Changed dependencies from pynac-0.7.10 to pynac-0.7.14 |
comment:13
There would be 30 doctest changes in the 5 main symbolic directories alone. I'm not prepared to push this as default behaviour---but maybe as separate method. |
comment:14
The code has been archived at: pynac/pynac#292 |
comment:15
Replying to @rwst:
Exactly why I got cold feet with the (much smaller) distribution of a few operations over
Another possibility to discuss : extend |
comment:16
Yes, third possibility is to extend |
Changed dependencies from pynac-0.7.14 to none |
We already do:
This should be extended to rational exponents of sums:
It's a matter of implementing the case
add^rational
in Pynac'spower::eval
CC: @EmmanuelCharpentier
Component: symbolics
Issue created by migration from https://trac.sagemath.org/ticket/23368
The text was updated successfully, but these errors were encountered: