У меня есть небольшой вопрос о симпы. я загрузить библиотеку с:Оценка функции Sympy
from sympy import *
В какой-то момент моей программы я хотел бы оценить функцию.
x=Symbol('x', real=True)
sqrt(1-x).subs(x, 9).evalf()
>>> 2.82842712474619*I
SymPy мне ответить на комплексное значение, но я хотел бы ошибку, как в основной питона:
sqrt(-1)
>>> ValueError: math domain error
Кто-то знает, как сделать это с помощью SymPy?
Я думал о том же растворе. Спасибо, что ответил, это решение для меня! – sloan
Вам может понадобиться 'evalf (chop = True)' вообще, чтобы очистить небольшие мнимые части. – asmeurer
Вы хотите 'not v.is_real', а не' v.is_imaginary'. 'is_imaginary' - только для чисто мнимых чисел. '(1 + 2 * I) .is_imaginary' будет' False'. – asmeurer