Почему sympy.solve возвращает результаты с кусочными и постоянными условиями? - PullRequest
2 голосов
/ 18 января 2020

запустив код ниже:

from sympy import *

a = symbols('a')
x = symbols('x')
f = Piecewise((a, x > a), (a+x, True))
results = solve(f.subs(a, 3) - x**3, x)
for result in results:
    print(result)

я получил следующие результаты:

1/(3*(sqrt(717)/18 + 3/2)**(1/3)) + (sqrt(717)/18 + 3/2)**(1/3)
Piecewise(((-1/2 - sqrt(3)*I/2)*(sqrt(717)/18 + 3/2)**(1/3) + 1/(3*(-1/2 - sqrt(3)*I/2)*(sqrt(717)/18 + 3/2)**(1/3)), (8*18**(1/3) + 12**(1/3)*(1 + sqrt(3)*I)**2*(sqrt(717) + 27)**(2/3))/(12*(1 + sqrt(3)*I)*(sqrt(717) + 27)**(1/3)) >= -3), (nan, True))
Piecewise((1/(3*(-1/2 + sqrt(3)*I/2)*(sqrt(717)/18 + 3/2)**(1/3)) + (-1/2 + sqrt(3)*I/2)*(sqrt(717)/18 + 3/2)**(1/3), (8*18**(1/3) + 12**(1/3)*(1 - sqrt(3)*I)**2*(sqrt(717) + 27)**(2/3))/(12*(1 - sqrt(3)*I)*(sqrt(717) + 27)**(1/3)) >= -3), (nan, True))

Мне интересно, что означают результаты 2 Piecewise. Условия здесь являются константами с моим участием, что не имеет никакого смысла для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...