Yeah, a lot of work is needed in sets. I see that error on master but not on my PR: https://github.com/sympy/sympy/pull/17593
There it doesn't raise but just returns unevaluated: In [3]: simplify(a.intersect(b)) Out[3]: {(t, t) | t ∊ [0, 1]} ∩ {(1 - t, t) | t ∊ [0, 1]} There is no code to handle intersections of this kind of ImageSet yet. Oscar On Tue, 1 Oct 2019 at 23:30, EKW <etk...@gmail.com> wrote: > > OK, I wasn't sure if that was the intended way, since using tuples quickly > leads to errors such as: > > >>> a = ImageSet(Lambda(t, (t, t)), Interval(0, 1)) > >>> a > ImageSet(Lambda(t, (t, t)), Interval(0, 1)) > >>> (0,0) in a > True > >>> b = ImageSet(Lambda(t, (1 - t, t)), Interval(0, 1)) > >>> b > ImageSet(Lambda(t, (1 - t, t)), Interval(0, 1)) > >>> a.intersect(b) > Intersection(ImageSet(Lambda(t, (t, t)), Interval(0, 1)), ImageSet(Lambda(t, > (1 - t, t)), Interval(0, 1))) > >>> simplify(a.intersect(b)) > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > File "/home/eward/se/sympy/simplify/simplify.py", line 582, in simplify > return done(expr) > File "/home/eward/se/sympy/simplify/simplify.py", line 541, in done > rv = e.doit() if doit else e > File "/home/eward/se/sympy/core/basic.py", line 1691, in doit > for term in self.args] > File "/home/eward/se/sympy/core/basic.py", line 1691, in <listcomp> > for term in self.args] > File "/home/eward/se/sympy/sets/fancysets.py", line 460, in doit > return SetExpr(base_set)._eval_func(f).set > File "/home/eward/se/sympy/sets/setexpr.py", line 84, in _eval_func > res = set_function(func, self.set) > File "/home/eward/se/sympy/sets/sets.py", line 2255, in set_function > return _set_function(f, x) > File "/home/eward/se/sympy/multipledispatch/dispatcher.py", line 198, in > __call__ > return func(*args, **kwargs) > File "/home/eward/se/sympy/sets/handlers/functions.py", line 70, in > _set_function > sing = [i for i in singularities(expr, var) > File "/home/eward/se/sympy/calculus/singularities.py", line 83, in > singularities > if not expression.is_rational_function(symbol): > AttributeError: 'Tuple' object has no attribute 'is_rational_function' > > On Tuesday, October 1, 2019 at 2:58:20 PM UTC-7, EKW wrote: >> >> For example if I wanted to represent the line segment from (0,0) to (1,1) >> (f(t) = (t, t) for t in (0, 1))- can this be done with an image set? How? Or >> a curve in 3d space (for example, f(t) = (t^2, t, 1 - t) for t in (0, 1)). > > -- > 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 sympy+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sympy/9124ca80-5099-4f44-9441-f82af3f9de12%40googlegroups.com. -- 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 sympy+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAHVvXxShAd6W_Uj_vB%3DSYvDStqtPvQy7Z%2B%2BXstofNsP5P2ssPA%40mail.gmail.com.