I'm doing some large-ish bunch of operations in symbolic math, which is taking too long (for my taste), and I wanted to test if baking some assumptions into the symbols might speed things up a bit. The independent variable is t.
However, I find this:
>>> t = sympy.Symbol('t', positive=True)
>>> t.is_complex
True
Does this mean that Sympy assumes complex values? At the same time:
>>> t.is_real
True
What? Is this now a real or a complex number? Let's try and make it explicit:
>>> t = sympy.Symbol('t', negative=False, real=True, complex=False)
*** InconsistentAssumptions: {'real': True, 'imaginary': False, 'hermitian': True, 'complex': True, 'commutative': True}, complex=False
So ... I am clearly not understanding how the symbol definition works. I would like a positive real number, i.e. not a complex number, but for some reason Sympy seems to insist that it must be complex, and also a Hermitian matrix? Or are real scalars special cases of (1-element) Hermitian matrices? I don't think I had enough Math lessons to know that
I'm also not sure if positive=True includes the possibility for t to be zero. The documentation doesn't seem to explain what exactly the arguments mean or how they are interpreted, either.
In case this is relevant: I am using SYmpy 0.7.6. I know that this is fairly old, but upgrading is not an option because the program needs to run on machines whose update schedule is not my decision...