Oops, removing inexact arithmetic does cause errors. On May 24, 8:41 pm, Matthew <mrock...@gmail.com> wrote: > Cool. I'm going ahead with the changes. I'm currently blocking on the > reduce_poly_inequalities function. > It assumes that it's dealing with a list of Intervals which it then > will return or turn into a relational. I have generalized this > as_relational process to all sets but am having difficulty when it > needs to create sets with inexact arithmetic. > > This python file has a special interval_evalf function used just for > this one case which makes new intervals with evaluated numbers rather > than exact ones. i.e. > Interval(interval.left.evalf(), interval.right.evalf() ) > > I don't want to make a union_evalf , finiteset_evalf, etc... but if I > push this into a ._eval_evalf method then I'll end up overwriting the > existing Interval._eval_evalf method which seems to be creating > multiprecision intervals which are used for some other purpose. > > I guess I'm not sure exactly why the inexact bits are needed. When I > remove this functionality it doesn't seem to break any tests. I'm not > knowledgeable enough to know if this is important or not. > > Thoughts? > > Also, unrelated question. There are some tests which fail when I run > bin/test but which pass when I run them from ipython or isympy. I > suspect this is just something screwy with how I have things set up. > Sound familiar to anyone? > > -Matt > > On May 24, 7:50 pm, Mateusz Paprocki <matt...@gmail.com> wrote: > > > > > > > > > Hi, > > > On 24 May 2011 17:42, Aaron S. Meurer <asmeu...@gmail.com> wrote: > > > > Hi. > > > > On May 24, 2011, at 5:50 PM, Matthew Rocklin wrote: > > > > > Hi Everyone, > > > > > I'm revamping Sets a bit as a precursor to my GSoC project. The first > > > part of this is creating a FiniteSet object to go along with Intervals > > > (like > > > (0, 1] ) and Unions (like [-1,0) U (0, 1] ). > > > > > I changed the default behavior of Interval(1,1) (interval from 1 to 1 > > > inclusive, i.e. [1, 1] ) to be just the FiniteSet {1} . > > > > > Unfortunately it appears that Interval(a,a) has been used extensively in > > > the inequalities module for things like > > > > > reduce_poly_inequalities([[Eq(x**2, 1)]], x, relational=False) == > > > [Interval(-1,-1), Interval(1, 1)] > > > > > My code changes the result to the FiniteSet {-1, 1} which I think makes > > > more sense. I'm a little uneasy about going in and changing this much in > > > modules with which I have little experience. Are people ok with this? Is > > > there anyone I should converse with while dealing with this particular > > > problem? (someone involved in inequalities) > > > > > Best, > > > > -Matt > > > > So first off, you should run the tests. If they still pass, then it means > > > that the code still works. This is why we have tests. > > > > In this particular case, I think it's fine. That probably would have used > > > a finite set anyway, if they had existed at the time. Mateusz wrote this > > > code, so he could tell you more. But I personally am +1 to making > > > Interval(a, a) return FiniteSet(a). > > > That should work fine, but as Aaron said, change this run tests and see what > > it the outcome. > > > > Aaron Meurer > > > > -- > > > You received this message because you are subscribed to the Google Groups > > > "sympy" group. > > > To post to this group, send email to sympy@googlegroups.com. > > > To unsubscribe from this group, send email to > > > sympy+unsubscr...@googlegroups.com. > > > For more options, visit this group at > > >http://groups.google.com/group/sympy?hl=en. > > > Mateusz
-- You received this message because you are subscribed to the Google Groups "sympy" group. To post to this group, send email to sympy@googlegroups.com. To unsubscribe from this group, send email to sympy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sympy?hl=en.