You should think of the assumptions as corresponding to the standard sets. "Positive" means the set of positive reals (R+), and so on. So "complex" means the set of complex numbers (C), which of course includes 1, I, and 1 + I. IMHO it shouldn't include oo or zoo, but that's a separate discussion.
But aside from infinities some example of not complex things would be noncommutative symbols, matrices, boolean expressions, or people (hey, if the assumptions system is general enough, it should be able to work with facts about *anything*). Aaron Meurer On Tue, Mar 4, 2014 at 7:14 AM, Christophe Bal <[email protected]> wrote: > Hello. > > Maybe, having the smallest standard set of a nulber could be a good thing. > Here are some examples. > > 1 is an integer. > 1/2 is a rational. > 2.3 and pi are reals. > 2i and i are imaginary complexes. > 4+5i is a complex. > > Then something like "integer + complex" should be treated as a complex. By > giving an integer id for the kind of a number, and by choosing integer_id < > rational_id < reals_id < imaginary_id < complexe_id, then the kind of number > could be the maximum of all the id met in an expression. > > What do you think about that ? > > Christophe BAL > > > 2014-03-04 12:36 GMT+01:00 Sergey Kirpichev <[email protected]>: > >> On Tuesday, March 4, 2014 9:38:22 AM UTC+4, Chris Smith wrote: >>> >>> Something that seems a little counter-intuitive to me (having now worked >>> with the assumptions a bit) is the decision to let 2, I and 2 + I all be >>> considered complex >> >> >> I'm little surprised, what could be counter-intuitive here from the >> mathematical point of view? >> >>> >>> It seems like it would be more useful to consider them be onlny real, >>> imaginary and complex, resepectively. >> >> >> Some shortcuts for internal use may be convenient, however. E.g. >> Q.nonzero_imaginary or something. >> >>> The way it is right now, the only way to say that something has a >>> non-zero real and imaginary part is to write it as a + I*b, e.g. >>> ask(Q.real(I**(a + I*b)), Q.real(a) & Q.real(b)) >> >> >> But this does not mean a+I*b has a non-zero re/im parts! >> >> Also, consider some arithmetic, e.g. complex + complex != complex with >> your definition. By killing field properties - you complicate other things, >> I guess... >> >> -- >> 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 [email protected]. >> To post to this group, send email to [email protected]. >> Visit this group at http://groups.google.com/group/sympy. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/sympy/98a6227e-cbd9-44e7-899f-3449e7f1b042%40googlegroups.com. >> 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 [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/sympy. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sympy/CAAb4jGncKz0ysvr9ykW62a-jZw8f0Mt_%2B357ue7t%2BzNzAZR3wg%40mail.gmail.com. > > 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 [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sympy. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAKgW%3D6%2BUNTe4CWzjb1QEDyOEBiKu-Ye_Ve1JLw5EkLO261jHYg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
