If I can contribute to the discussion, I support the simpler behavior
when Le(3,4) stays as a inequation until it has to be evaluated. Not
only the shortcut to True/False has now proven to bring in an error in
the solving routine, it is possible that in some situation one will
want to extract the left and right sides back into two expressions.

On Nov 24, 5:22 pm, Aaron Meurer <[email protected]> wrote:
> Perhaps it has something to do with solve not taking into account that
> Le() and friends evaluate themselves to a boolean in trivial cases:
>
> In [1]: Le(3,4)
> Out[1]: True
>
> But the only way to really know for sure is to debug the code.
>
> By the way, there's been some debate before on whether or not it is a
> good idea for Le() to be doing this, so maybe now a working
> implementation of an inequality solve can shed some more light on the
> matter.
>
> Aaron Meurer
>
>
>
>
>
>
>
> On Wed, Nov 24, 2010 at 3:12 AM, Filip Dominec <[email protected]> 
> wrote:
> > I am working on a new solve() routine to fix the issue discussed in my
> > previous post.
>
> > However, I observed a bug (?) that sticks deep in the code. I am using
> > the "git clone https://[email protected]/mattpap/sympy-polys.git; cd
> > sympy-polys ; git checkout polys11" version.
>
> > In [388]: solve([Le(3,0), Assume(x,Q.real)],x,relational=False)
> > Out[388]: False
>
> > In [389]: solve([Le(3,4), Assume(x,Q.real)],x,relational=False)
> > ---------------------------------------------------------------------------
> > UnboundLocalError                         Traceback (most recent call
> > last)
>
> > /home/filip/<ipython console> in <module>()
>
> > /home/filip/bin/sympy101118/sympy-polys/sympy/solvers/solvers.pyc in
> > solve(f, *symbols, **flags)
> >    153
> >    154     if any(isinstance(fi, bool) or (fi.is_Relational and not
> > fi.is_Equality) for fi in f):
> > --> 155         return solve_poly_inequalities(f,
> > relational=relational)
> >    156
> >    157     for i, fi in enumerate(f):
>
> > /home/filip/bin/sympy101118/sympy-polys/sympy/solvers/inequalities.pyc
> > in solve_poly_inequalities(inequalities, relational)
> >    152         results[gen] = result
> >    153
> > --> 154     if relational or not real:
> >    155         solution = And(*results.values())
> >    156     else:
>
> > UnboundLocalError: local variable 'real' referenced before assignment
>
> > --
> > You received this message because you are subscribed to the Google Groups 
> > "sympy" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to 
> > [email protected].
> > For more options, visit this group 
> > athttp://groups.google.com/group/sympy?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.

Reply via email to