-
-
Notifications
You must be signed in to change notification settings - Fork 480
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
Derivative D acts wrongly on symbolic integration #6465
Comments
support disabling chain rule for symbolic functions |
comment:1
Attachment: trac_6465-chain_rule.patch.gz attachment: trac_6465-chain_rule.patch adds support for disabling chain rule for symbolic functions. It depends on the new pynac package here: http://sage.math.washington.edu/home/burcin/pynac/pynac-0.1.8.p2.spkg |
This comment has been minimized.
This comment has been minimized.
Author: Burcin Erocal, Golam Mortuza Hossain |
Attachment: trac_6465-moves-integration-into-sfunction-subclass.patch.gz Should be applied after the chain-rule patch |
comment:3
There need to be deprecation warnings for things like
|
comment:4
The sudden API change probably merits a deprecation warning, as kcrisman said. Also: Doctest failure:
|
Reviewer: Tim Dumol |
comment:5
That may be due to the Maxima upgrade - has it been patched elsewhere? Just FYI, I'm not certain on this. |
comment:6
This patch needs to be rebased on #6816. The doctest failure persists, but gamma_incomplete(1, 1) is equivalent to e^(-1) anyways. |
comment:8
Yes, I think so, as Maxima 5.20.1 now returns this for both integrate(exp(-x),x,1,inf) and integrate(1/%e^x,x,1,inf). Note that
rather than 1/e at this point, so it really is the symbolic piece, not just having translation from Maxima, that would be important. |
rebased to 4.3.rc0 |
Attachment: trac_6465-chain_rule.take2.patch.gz rebased to 4.3.1.rc0 |
Attachment: trac_6465-moves-integration-into-sfunction-subclass.take2.patch.gz referee patch |
comment:9
Attachment: trac_6465-integral.patch.gz I uploaded new versions of the two old patches, rebased to 4.3.1.rc0, and a referee patch. I consider this ready now, though someone needs to review my changes. Unfortunately attachment: trac_6465-chain_rule.take2.patch depends on the next version of pynac. I will release that real soon now. :) The patches should be applied in this order:
They probably depend on other tickets. ATM, my queue contains: #7822, #6961, #7876, #7363, #7955, #7957, #7916 related to symbolics. |
comment:11
There is a reject on sage/symbolic/random_tests.py with the last patch. |
comment:12
See #6559 for the correct order of patches to avoid the reject. |
comment:13
I've applied every one of Burcin's patches I could find, and get only one type of doctest failure with all of them (when applied in the right order). So so far so good! Unfortunately, I can't review any of them for two reasons - my understanding of C++/Pynac is not reliable enough to do a good job, and there are so many failures until one applies all the patches that it's hard to separate out what's what. The reason I say that here is that I do get a significant failure, in a few different files, for the
I hope this helps track it down. |
comment:14
Can you download the package file again and install it? I forgot to include a patch when I first put the release together. I fixed the spkg file once I realized the problem, assuming no one looked at it yet. You must have downloaded in that period. Sorry for the inconvenience and many thanks for trying these patches out. |
comment:15
Replying to @burcin:
I now get
However, I now get some errors after applying all patches up to and including this set. Some should also be marked # optional - requires Internet (the mathematica_free ones). They all seem to be related to some extra keyword being passed to the DeprecatedSFunction constructor.
No problem. Although I strongly disagree with the removal of indefinite integration longterm without explicit variable, overall this set of changes will be a big improvement. I am sorry again I cannot review much of the C++ related stuff, or the Pynac changes, though I am glad they are now up on [|pynac.sagemath.org] ! |
Changed reviewer from Tim Dumol to Tim Dumol, Karl-Dieter Crisman |
Attachment: trac_6465-integral.take2.patch.gz new version |
comment:16
attachment: trac_6465-integral.patch renames the file I applied the whole batch of symbolics patches associated to pynac-0.11 to 4.3.2.alpha0, and tested the sage/{symbolic,calculus,functions} directories. The only doctest failure I got was in The patches that need to be applied from this ticket are now: |
fix numerical problems in doctests |
comment:17
Attachment: trac_6465-integral.take3.patch.gz After testing on a 32-bit Debian box, I uploaded attachment: trac_6465-integral.take3.patch to replace attachment: trac_6465-integral.take2.patchThe only difference is the The patches that need to be applied are: |
comment:18
Oops, the last patch to be applied is attachment: trac_6465-integral.take3.patch! That was a typo in the list above. |
Attachment: trac_6465-integral.take4.patch.gz rebased to 4.3.2 |
rebased to 4.3.2 |
comment:19
Attachment: trac_6465-moves-integration-into-sfunction-subclass.take3.patch.gz I rebased the patches to 4.3.2. Patches to be applied are now: |
comment:20
The patch solves the stated problem without loss of functionality (at
There is one issue (that is not necessarily a part of this ticket).
|
Changed reviewer from Tim Dumol, Karl-Dieter Crisman to Tim Dumol, Karl-Dieter Crisman, Ross Kyprianou |
Changed reviewer from Tim Dumol, Karl-Dieter Crisman, Ross Kyprianou to Tim Dumol, Karl-Dieter Crisman, Ross Kyprianou, Minh Van Nguyen |
comment:21
The rebase looks good. See #6961 for the order in which to apply patches. |
comment:22
Merged in this order: |
Merged: sage-4.3.3.alpha1 |
In new symbolics, derivative operator does not know
how to act on symbolic integration.
Patches:
Apart from solving this bug it introduces couple
of new features (by moving it into new symbolics' SFunction sub-class)
(1) Stricter syntax:
http://groups.google.com/group/sage-devel/browse_thread/thread/3e98841311653d7a
(2) Numerical approximation using .n() method
(3) Updated "integrate?" docstring
(4) Graceful handling of situations where integration is specified w.r.t. an expression
http://groups.google.com/group/sage-devel/browse_thread/thread/cd9f91338635ada9
(4) Behind the scene it provides a framework to hook up easily new integration algorithm written within sage.
Component: symbolics
Author: Burcin Erocal, Golam Mortuza Hossain
Reviewer: Tim Dumol, Karl-Dieter Crisman, Ross Kyprianou, Minh Van Nguyen
Merged: sage-4.3.3.alpha1
Issue created by migration from https://trac.sagemath.org/ticket/6465
The text was updated successfully, but these errors were encountered: