Hi, On 24 May 2011 18:41, 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? > See issue http://code.google.com/p/sympy/issues/detail?id=2418. > > 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? > Familiar but you will need to give more information. For example check hashes (e.g. by printing them) in tests and isympy. > > -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. > > 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.