-
-
Notifications
You must be signed in to change notification settings - Fork 453
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
solve of equation system misses trivial simplifications #16753
Comments
comment:1
Set to critical because it makes Sage look really stupid. |
This comment has been minimized.
This comment has been minimized.
comment:3
I think it is maxima which is unable to solve the equations and returns
in this case. Sage converts this to list of solutions. Can we condition sage to return "Unable to solve" instead of returning the equations? while reporting this upstream. |
comment:4
You mean a general change for unsolved equations/relations? That would be a different ticket which you would have to open. I'm not against a change but I'd rather have solve return a set, and in case of unsolved an empty set. |
comment:5
A test which returned initial function instead of solutions was failing
I have changed that test. Please have a look. |
Branch: u/ajagekar.akshay/Trac16753 |
comment:7
Your ticket branch shows MeatAxe changes. Probably you branched not from develop. Use |
Commit: |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:9
Sorry for that mistake. |
Author: Akshay Ajagekar |
comment:11
This solution doesn't fly. Presently:
with this patch, it would return []. That's bad. In general, I think it's bad to silently returning an empty list in a case where we know we failed to "solve" the system. An empty list can be interpreted as an inconsistent system of equations. The original behaviour, returning the original system, indicates better a failure to solve than an empty solution list does. Therefore, I think that is preferable. You could argue that returning the original system would be "invalid" output, because usually it means that the LH sides of the equations aren't the to-be-solved-for variables and/or the RH sides won't be free of them. In that case, returning an error is a better solution. I think the parsing that happens for
Compared with
it's clearly very misleading output. So for
(we'd probably be better off if also in the single-variable case we'd also return list-of-lists etc.) Beware of legacy, though. There might be users out there that have grown fond of this bad behaviour and somehow depend on it. |
comment:12
returns
maxima returns list of list as solution |
Some trivial substitutions are not done by solve:
and, as reported in http://ask.sagemath.org/question/23652/solve-equations-with-sinx/
Component: calculus
Author: Akshay Ajagekar
Branch/Commit: u/ajagekar.akshay/Trac16753 @
88dec5a
Issue created by migration from https://trac.sagemath.org/ticket/16753
The text was updated successfully, but these errors were encountered: