симпозиальные выражения полиномиальных корней - PullRequest
0 голосов
/ 21 февраля 2020

Выражения корней полиномов в sympy, похоже, не работают для краевых случаев (когда коэффициент для более высокой степени равен 0). Кто-нибудь может объяснить, почему? Можем ли мы использовать / полагаться на выражения для корней?

import sympy as sy

lam = sy.symbols("lambda")
a_0, a_1, a_2, a_3 = sy.symbols("a_0 a_1 a_2 a_3")
eq = sy.Eq(a_3 * (lam ** 3) + a_2 * (lam ** 2) + a_1 * (lam ** 1) + a_0, 0)
polynome_solutions = sy.solve(eq, lam)
print(polynome_solutions)
for solution in  polynome_solutions:
    print(solution.subs([(a_3, 0), (a_2, 1), (a_1, 0), (a_0, -1)]))

lam = sy.symbols("lambda")
a_0, a_1, a_2, a_3, a_4 = sy.symbols("a_0 a_1 a_2 a_3 a_4")
eq = sy.Eq(a_4 * (lam ** 4) + a_3 * (lam ** 3) + a_2 * (lam ** 2) + a_1 * (lam ** 1) + a_0, 0)
polynome_solutions = sy.solve(eq, lam)
print(polynome_solutions)
for solution in  polynome_solutions:
    print(solution.subs([(a_4, 1), (a_3, 0), (a_2, 0), (a_1, 0), (a_0, -1)]))

Результаты:

[-a_2/(3*a_3) - (-3*a_1/a_3 + a_2**2/a_3**2)/(3*(27*a_0/(2*a_3) - 9*a_1*a_2/(2*a_3**2) + a_2**3/a_3**3 + sqrt(-4*(-3*a_1/a_3 + a_2**2/a_3**2)**3 + (27*a_0/a_3 - 9*a_1*a_2/a_3**2 + 2*a_2**3/a_3**3)**2)/2)**(1/3)) - (27*a_0/(2*a_3) - 9*a_1*a_2/(2*a_3**2) + a_2**3/a_3**3 + sqrt(-4*(-3*a_1/a_3 + a_2**2/a_3**2)**3 + (27*a_0/a_3 - 9*a_1*a_2/a_3**2 + 2*a_2**3/a_3**3)**2)/2)**(1/3)/3, -a_2/(3*a_3) - (-3*a_1/a_3 + a_2**2/a_3**2)/(3*(-1/2 - sqrt(3)*I/2)*(27*a_0/(2*a_3) - 9*a_1*a_2/(2*a_3**2) + a_2**3/a_3**3 + sqrt(-4*(-3*a_1/a_3 + a_2**2/a_3**2)**3 + (27*a_0/a_3 - 9*a_1*a_2/a_3**2 + 2*a_2**3/a_3**3)**2)/2)**(1/3)) - (-1/2 - sqrt(3)*I/2)*(27*a_0/(2*a_3) - 9*a_1*a_2/(2*a_3**2) + a_2**3/a_3**3 + sqrt(-4*(-3*a_1/a_3 + a_2**2/a_3**2)**3 + (27*a_0/a_3 - 9*a_1*a_2/a_3**2 + 2*a_2**3/a_3**3)**2)/2)**(1/3)/3, -a_2/(3*a_3) - (-3*a_1/a_3 + a_2**2/a_3**2)/(3*(-1/2 + sqrt(3)*I/2)*(27*a_0/(2*a_3) - 9*a_1*a_2/(2*a_3**2) + a_2**3/a_3**3 + sqrt(-4*(-3*a_1/a_3 + a_2**2/a_3**2)**3 + (27*a_0/a_3 - 9*a_1*a_2/a_3**2 + 2*a_2**3/a_3**3)**2)/2)**(1/3)) - (-1/2 + sqrt(3)*I/2)*(27*a_0/(2*a_3) - 9*a_1*a_2/(2*a_3**2) + a_2**3/a_3**3 + sqrt(-4*(-3*a_1/a_3 + a_2**2/a_3**2)**3 + (27*a_0/a_3 - 9*a_1*a_2/a_3**2 + 2*a_2**3/a_3**3)**2)/2)**(1/3)/3]
nan
nan
nan
[Piecewise((-a_3/(4*a_4) - sqrt(-2*a_2/(3*a_4) + a_3**2/(4*a_4**2) - 2*((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**(1/3))/2 - sqrt(-4*a_2/(3*a_4) + a_3**2/(2*a_4**2) + (2*a_1/a_4 + 2*a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)/sqrt(-2*a_2/(3*a_4) + a_3**2/(4*a_4**2) - 2*((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**(1/3)) + 2*((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**(1/3))/2, Eq(a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 + (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12, 0)), (-a_3/(4*a_4) - sqrt(-2*a_2/(3*a_4) + a_3**2/(4*a_4**2) - 2*(-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)/(3*(-(a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/6 + (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/16 + (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/216 + sqrt((-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)**3/27 + ((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**2/4))**(1/3)) + 2*(-(a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/6 + (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/16 + (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/216 + sqrt((-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)**3/27 + ((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**2/4))**(1/3))/2 - sqrt(-4*a_2/(3*a_4) + a_3**2/(2*a_4**2) + (2*a_1/a_4 + 2*a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)/sqrt(-2*a_2/(3*a_4) + a_3**2/(4*a_4**2) - 2*(-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)/(3*(-(a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/6 + (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/16 + (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/216 + sqrt((-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)**3/27 + ((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**2/4))**(1/3)) + 2*(-(a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/6 + (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/16 + (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/216 + sqrt((-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)**3/27 + ((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**2/4))**(1/3)) + 2*(-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)/(3*(-(a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/6 + (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/16 + (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/216 + sqrt((-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)**3/27 + ((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**2/4))**(1/3)) - 2*(-(a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/6 + (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/16 + (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/216 + sqrt((-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)**3/27 + ((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**2/4))**(1/3))/2, True)), Piecewise((-a_3/(4*a_4) - sqrt(-2*a_2/(3*a_4) + a_3**2/(4*a_4**2) - 2*((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**(1/3))/2 + sqrt(-4*a_2/(3*a_4) + a_3**2/(2*a_4**2) + (2*a_1/a_4 + 2*a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)/sqrt(-2*a_2/(3*a_4) + a_3**2/(4*a_4**2) - 2*((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**(1/3)) + 2*((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**(1/3))/2, Eq(a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 + (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12, 0)), (-a_3/(4*a_4) - sqrt(-2*a_2/(3*a_4) + a_3**2/(4*a_4**2) - 2*(-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)/(3*(-(a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/6 + (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/16 + (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/216 + sqrt((-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)**3/27 + ((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**2/4))**(1/3)) + 2*(-(a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/6 + (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/16 + (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/216 + sqrt((-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)**3/27 + ((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**2/4))**(1/3))/2 + sqrt(-4*a_2/(3*a_4) + a_3**2/(2*a_4**2) + (2*a_1/a_4 + 2*a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)/sqrt(-2*a_2/(3*a_4) + a_3**2/(4*a_4**2) - 2*(-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)/(3*(-(a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/6 + (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/16 + (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/216 + sqrt((-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)**3/27 + ((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**2/4))**(1/3)) + 2*(-(a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/6 + (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/16 + (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/216 + sqrt((-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)**3/27 + ((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**2/4))**(1/3)) + 2*(-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)/(3*(-(a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/6 + (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/16 + (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/216 + sqrt((-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)**3/27 + ((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**2/4))**(1/3)) - 2*(-(a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/6 + (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/16 + (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/216 + sqrt((-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)**3/27 + ((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**2/4))**(1/3))/2, True)), Piecewise((-a_3/(4*a_4) + sqrt(-2*a_2/(3*a_4) + a_3**2/(4*a_4**2) - 2*((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**(1/3))/2 - sqrt(-4*a_2/(3*a_4) + a_3**2/(2*a_4**2) - (2*a_1/a_4 + 2*a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)/sqrt(-2*a_2/(3*a_4) + a_3**2/(4*a_4**2) - 2*((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**(1/3)) + 2*((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**(1/3))/2, Eq(a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 + (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12, 0)), (-a_3/(4*a_4) + sqrt(-2*a_2/(3*a_4) + a_3**2/(4*a_4**2) - 2*(-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)/(3*(-(a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/6 + (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/16 + (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/216 + sqrt((-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)**3/27 + ((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**2/4))**(1/3)) + 2*(-(a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/6 + (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/16 + (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/216 + sqrt((-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)**3/27 + ((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**2/4))**(1/3))/2 - sqrt(-4*a_2/(3*a_4) + a_3**2/(2*a_4**2) - (2*a_1/a_4 + 2*a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)/sqrt(-2*a_2/(3*a_4) + a_3**2/(4*a_4**2) - 2*(-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)/(3*(-(a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/6 + (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/16 + (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/216 + sqrt((-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)**3/27 + ((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**2/4))**(1/3)) + 2*(-(a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/6 + (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/16 + (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/216 + sqrt((-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)**3/27 + ((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**2/4))**(1/3)) + 2*(-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)/(3*(-(a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/6 + (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/16 + (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/216 + sqrt((-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)**3/27 + ((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**2/4))**(1/3)) - 2*(-(a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/6 + (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/16 + (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/216 + sqrt((-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)**3/27 + ((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**2/4))**(1/3))/2, True)), Piecewise((-a_3/(4*a_4) + sqrt(-2*a_2/(3*a_4) + a_3**2/(4*a_4**2) - 2*((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**(1/3))/2 + sqrt(-4*a_2/(3*a_4) + a_3**2/(2*a_4**2) - (2*a_1/a_4 + 2*a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)/sqrt(-2*a_2/(3*a_4) + a_3**2/(4*a_4**2) - 2*((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**(1/3)) + 2*((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**(1/3))/2, Eq(a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 + (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12, 0)), (-a_3/(4*a_4) + sqrt(-2*a_2/(3*a_4) + a_3**2/(4*a_4**2) - 2*(-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)/(3*(-(a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/6 + (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/16 + (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/216 + sqrt((-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)**3/27 + ((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**2/4))**(1/3)) + 2*(-(a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/6 + (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/16 + (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/216 + sqrt((-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)**3/27 + ((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**2/4))**(1/3))/2 + sqrt(-4*a_2/(3*a_4) + a_3**2/(2*a_4**2) - (2*a_1/a_4 + 2*a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)/sqrt(-2*a_2/(3*a_4) + a_3**2/(4*a_4**2) - 2*(-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)/(3*(-(a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/6 + (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/16 + (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/216 + sqrt((-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)**3/27 + ((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**2/4))**(1/3)) + 2*(-(a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/6 + (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/16 + (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/216 + sqrt((-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)**3/27 + ((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**2/4))**(1/3)) + 2*(-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)/(3*(-(a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/6 + (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/16 + (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/216 + sqrt((-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)**3/27 + ((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**2/4))**(1/3)) - 2*(-(a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/6 + (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/16 + (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/216 + sqrt((-a_0/a_4 + a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**2/12)**3/27 + ((a_0/a_4 - a_3*(a_1/(4*a_4) + a_3*(-a_2/(16*a_4) + 3*a_3**2/(256*a_4**2))/a_4)/a_4)*(a_2/a_4 - 3*a_3**2/(8*a_4**2))/3 - (a_1/a_4 + a_3*(-a_2/(2*a_4) + a_3**2/(8*a_4**2))/a_4)**2/8 - (a_2/a_4 - 3*a_3**2/(8*a_4**2))**3/108)**2/4))**(1/3))/2, True))]
0
0
0
0

1 Ответ

2 голосов
/ 21 февраля 2020

Вы, похоже, решаете общий полином третьей степени. Один шаг решения нормализует полином для начала с 1, поэтому делим на a_3. Более поздняя замена a_3 на ноль вызывает деление на ноль, которое выражается как 'nan' ("не число").

Ответ на отредактированный вопрос:

Ну, есть не существует общего алгебраического c решения для полинома четвертой степени. Итак, лучшее, на что вы можете надеяться, - это дать симпозиу c полинома более высокой степени и надеяться, что у него есть решение. Sympy просто старается изо всех сил, и для этого он должен сделать некоторые предположения, но это не всегда правильно. Ни одна система вычислительной алгебры не является идеальной, и sympy, безусловно, не является самой сложной для всех целей, но она бесплатна и, что наиболее важно, с открытым исходным кодом.

Можем ли мы использовать / полагаться на выражения для корни?

При написании уравнения с шестью неизвестными, sympy не различает, какой из них будет называться неизвестным, а какой - параметром. Некоторые предположения сделаны для того, чтобы добиться прогресса.

Итак, можем ли мы на 100% полагаться на результаты симпози? Нет, конечно нет. Решения должны быть проверены и оценены на пригодность для конкретного применения c. Мы можем быть уверены, что он хорошо работает для одномерных полиномиальных уравнений. В более сложных случаях часто приходится сталкиваться с ограничениями вычислительной алгебры.

Посмотрим, что Wolfram Alpha делает с этим конкретным уравнением c, хотя я его не проверял, кажется более подходящим, хотя и очень сложным, и довольно сложным для использования в дальнейших расчетах. Wolfram Alpha, похоже, делает различие между параметрами и неизвестными неизвестными, что иногда обязывает вас использовать определенные c имена для параметров / неизвестных. Посмотрите, например, что он делает с переписанным уравнением . Особенно это переписывание не возвращает того, на что вы надеетесь.

Рекомендуется проверить ваше конкретное c уравнение в альтернативных системах и сообщить о случаях в github sympy за интересные примеры, где sympy работает не так, как должно.

...