Perhaps it should aim to always produce a structured result. Like:

/ -sqrt(y) y = 0 
|
\ sqrt(y) y >= 0

Then have a redundancy checker that converts it to one of a set of 
canonical forms, i.e. either

/ -sqrt(y) y = 0 
|
\ sqrt(y) y > 0

or just, sqrt(y), without worrying about which one it makes, just that they 
don't overlap. From there use a piecewise simplification algorithm.

But solvers.py is mental and I have no idea how it works. Perhaps what I'm 
saying is just completely unrealistic.


On Friday, 31 May 2013 20:46:15 UTC+1, Aaron Meurer wrote:
>
> I mean the number zero, as you described (sorry, I was using my proper 
> English and writing out the number instead of writing 0). 
>
> You can open an issue for it if you want. I'm not convinced at this 
> point what exactly it should do, if anything. Definitely doing 
> something more advanced will require better deduction on the part of 
> the assumptions system. 
>
> Aaron Meurer 
>
> On Thu, May 30, 2013 at 4:48 PM, Lucas Wilkins 
> <[email protected] <javascript:>> wrote: 
> > Do you mean sympy.core.numbers.Zero? Or do mean the general problem that 
> > symbolically, zero is often the same as lack of objects? 
> > 
> > Should I flag it as an issue? 
> > 
> > On Thursday, 30 May 2013 21:46:53 UTC+1, Lucas Wilkins wrote: 
> >> 
> >> Hi, I've found some inappropriate behaviour of the solve function. 
> >> 
> >>     >>> x,y = symbols("x y", real=True, nonnegative=True) 
> >>     >>> solve(y-x**2,x) 
> >>     [-sqrt(y), sqrt(y)] 
> >> 
> >> The only non-negative case where both sqrt(y) and -sqrt(y) should be 
> >> solutions is where y=0, in which case they are equal and not different 
> after 
> >> all. It's quite annoying if there should be a single solution of zero! 
> >> 
> >> It should really work like positives: 
> >> 
> >>     >>> x,y = symbols("x y", real=True, positive=True) 
> >>     >>> solve(y-x**2,x) 
> >>     [sqrt(y)] 
> >> 
> >> I didn't submit an issue because I was not sure if it was deliberate 
> >> (perhaps for making floats work properly?). 
> >> 
> >> :L 
> >> 
> >> 
> > -- 
> > 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] <javascript:>. 
> > To post to this group, send email to [email protected]<javascript:>. 
>
> > Visit this group at http://groups.google.com/group/sympy?hl=en-US. 
> > 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?hl=en-US.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to