Well we'd have to audit the heuristics to see what steps are really
giving all solutions.

Also, some solutions can't be represented in closed form, like cos(x)
= x. So I think to solve this right, we really need three things:

- Refactor the solvers into hints (so we can easily separate those
solvers that give all solutions from those that don't).
- An unevaluated Solve object. This has problems of its own, like how
to canonically separate solutions, and how to know that there is a
solution there at all.
- A way to represent infinite solutions (and have that actually be
implemented in the solvers).

Aaron Meurer


On Sun, Jan 19, 2014 at 5:46 AM, Sergey Kirpichev <[email protected]> wrote:
>
> On Sunday, January 19, 2014 4:32:38 AM UTC+4, Aaron Meurer wrote:
>>
>> Oh, and I forgot that another prerequisite is a way for solve() to
>> state that it knows that it has found *all* the solutions. Otherwise,
>> if you code the basic algorithm that finds all the critical points,
>> you may miss some simply by virtue of solve() not finding it, and
>> thereby potentially get wrong answers.
>
>
> IMHO, it's a solve() problem.  It should return all solutions, or signal
> a failure in some conventional way (e.g. raise an error).  In particular,
> it can *fail* due to wrong heuristics.  Real issue here - how to represent
> some solutions (e.g. sin(x)==0).
>
> Let's document how to detect that solve() was unsuccessful, and then
> we can write code that expects solve() works as documented.
>
> --
> You received this message because you are subscribed to the Google Groups
> "sympy" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/sympy.
> For more options, visit https://groups.google.com/groups/opt_out.

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sympy.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to