is_Real checks if it is an instance of the Real class, which is not what you want (this property is deprecated anyway).
is_real on Interval means something completely different. It means the interval is a real interval, whereas everywhere else it x.is_real means that x is a real number. Aaron Meurer On Sat, Nov 2, 2013 at 10:52 AM, Alexander Birukov <sanya....@gmail.com> wrote: > > Thanks for the tip. I've tried .is_Real (capital one), because as IDE says > it's basic method, while .is_real related to Interval. That's why I didnt > even try it > > In my opinion, x = Symbol('x', real=True) makes it way better to control and > read, so I'll stick to it. > > суббота, 2 ноября 2013 г., 20:31:39 UTC+4 пользователь Aaron Meurer написал: >> >> The issue is that the second and third solution give None, which means >> it doesn't know (there's really no good reason for this, but you >> generally have to look out for that). Really, those solutions should >> be complex. >> >> The attribute you want is is_real. >> >> Another thing you can do is to set x to be real. If you do that, solve >> will filter out the solutions automatically >> >> In [52]: x = Symbol('x', real=True) >> >> In [53]: print(solve(x**3 - 4, x)) >> [2**(2/3)] >> >> Aaron Meurer >> >> On Sat, Nov 2, 2013 at 10:17 AM, Alexander Birukov <sany...@gmail.com> >> wrote: >> > Hello everyone. I have another question, and as topic name says: how can >> > I >> > sort return of solve, so complex numbers wont be in anymore? >> > >> > I've seached in flags for it, but no luck, and then I've played with >> > .is_* >> > attributes and got something wierd(?): >> > >> > sols = solve(x**3 - 4) >> > sols = [sol for sol in sols if sol.is_complex] >> > >> > sols before filtering: >> > [2**(2/3), -2**(2/3)/2 - 2**(2/3)*sqrt(3)*I/2, -2**(2/3)/2 + >> > 2**(2/3)*sqrt(3)*I/2] >> > >> > after: >> > 2**(2/3) >> > >> > Question is why and does that code always gives me what I want? (Just >> > confused about why is_complex returns True for real, and False for >> > exactly >> > complex number). >> > >> > -- >> > 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+un...@googlegroups.com. >> > To post to this group, send email to sy...@googlegroups.com. >> > Visit this group at http://groups.google.com/group/sympy. >> > 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 sympy+unsubscr...@googlegroups.com. > To post to this group, send email to sympy@googlegroups.com. > Visit this group at http://groups.google.com/group/sympy. > 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 sympy+unsubscr...@googlegroups.com. To post to this group, send email to sympy@googlegroups.com. Visit this group at http://groups.google.com/group/sympy. For more options, visit https://groups.google.com/groups/opt_out.