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.

Reply via email to