Я выполняю несколько больших операций с символами c по математике, которые занимают слишком много времени (на мой вкус), и я хотел проверить, может ли запоминание некоторых предположений относительно символов ускорить процесс немного. Независимой переменной является t.
Однако я нахожу это:
>>> t = sympy.Symbol('t', positive=True)
>>> t.is_complex
True
Означает ли это, что Sympy принимает комплексные значения? В то же время:
>>> t.is_real
True
Что? Это настоящее или сложное число? Давайте попробуем сделать это явно:
>>> t = sympy.Symbol('t', negative=False, real=True, complex=False)
*** InconsistentAssumptions: {'real': True, 'imaginary': False, 'hermitian': True, 'complex': True, 'commutative': True}, complex=False
Итак ... Я явно не понимаю, как работает определение символа. Я хотел бы получить положительное действительное число, т.е. не комплексное число, но по какой-то причине Sympy, похоже, настаивает на том, что оно должно быть сложным, а также на эрмитовой матрице? Или реальные скаляры являются частными случаями (1-элементных) эрмитовых матриц? Я не думаю, что у меня было достаточно уроков по математике, чтобы знать, что
Я также не уверен, включает ли positive=True
возможность для t
быть нулем. Документация , похоже, не объясняет, что именно означают аргументы или как они интерпретируются.
В случае, если это уместно: я использую SYmpy 0.7.6. Я знаю, что это довольно старое, но обновление не вариант, потому что программа должна работать на машинах, расписание обновления которых не мое решение ...