Sympy solveset, показывающий мнимые решения - PullRequest
0 голосов
/ 19 октября 2019

Я пытаюсь решить уравнение -

f (x) = x ^ 3 - 4x ^ 2 + 1

, используя sympy и несмотря на график графика, показывающий реальные корни,мой код выводит мнимые корни

Я пытался изменить домен переменной на реальный, но это, похоже, не работает

from sympy import *
init_printing(use_latex=True)
x, y, z = symbols('x y z')
solveset((x**3 - 4*(x**2) + 1),x, domain=S.Reals)

Ожидаемый вывод с использованием альфа-wolfram, x≈ -0.47283, 0.53740, 3.9345, и вывод из приведенного выше кода симпли это https://ibb.co/bbwzYRb

1 Ответ

0 голосов
/ 19 октября 2019

Я не вижу вашу цитируемую страницу, но получаю объединение множества и пересечение. Похоже, Intersection не знает, что он должен игнорировать мнимые части на корнях. Оценка solve результатов с chop=True будет работать:

>>> [i.n(2, chop=True) for i in solve(x**3 - 4*(x**2) + 1)]
[0.54, -0.47, 3.9]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...