Tôi có phương trình đa thức bậc 4 và tôi cần phải tìm tất cả các gốc. đơn giản ví dụ:SymPy không thể giải phương trình đa thức bậc 4
from sympy import (Symbol,solve,I)
a=4+5*I; b=3+7*I; c=12-56*I; d=33+56*I; e=345-67*I; x=Symbol('x')
eq=a*x**4 + b*x**3 + c*x**2 + d*x +e
solve(eq,x)
Nếu a, b, c, d, e là tinh khiết sản, sau đó nó hoạt động tốt. Nhưng trong trường hợp của tôi, tất cả chúng đều là số phức. Sau đó, tôi đã có được gọi:
PolynomialError: 'cannot return general quartic solution'
tôi thấy loại vấn đề tương tự, và thực hiện việc sửa chữa: Description of the issue. Fix of the issue
nhưng không thực sự hữu ích. Có một số loại vấn đề kỳ lạ, như bây giờ gọi là (như thay đổi trong việc sửa chữa):
PolynomialError: Cannot determine if `-((12 - 56*I)/(4 + 5*I) - 3*(3 + 7*I)**2/(8*(4 + 5*I)**2))**2/12 + (3 + 7*I)*((33 + 56*I)/(4*(4 + 5*I)) + (3 + 7*I)*(3*(3 + 7*I)**2/(256*(4 + 5*I)**2) - (12 - 56*I)/(16*(4 + 5*I)))/(4 + 5*I))/(4 + 5*I) - (345 - 67*I)/(4 + 5*I)` is nonzero.
Tuy nhiên, để xác định xem biểu thức trên là khác không là điều đơn giản nhất, do đó, không biết nơi mà vấn đề có thể là.
Sau khi tôi nâng cấp lên sympy 0.7.6 (sử dụng python 3.4) có massage lỗi khác nhau : dòng 103 trong __nonzero__: tăng TypeError ("không thể xác định giá trị thực của \ n% s"% tự) – K4stan
Có vẻ như đây là một lỗi đã được sửa trong phiên bản git của SymPy. – asmeurer
Tôi đang sử dụng phân phối anaconda của python. Có thể cập nhật bằng cách nào đó để phiên bản git này, hoặc tôi phải viết lại một số kịch bản? – K4stan