如何解决解集/解四阶多项式根
我正在尝试sympy并尝试求解四阶多项式x**4+b*x+c=0
时得到了意外结果,该四阶多项式x**4-1=0
简化为b=0,c=-1
时,其根为{−1,1,−?,?}
。但这是我从python3.8.1中得到的:
from sympy import *
init_printing()
from sympy import __version__ as sympy_version
sympy_version
>>'1.6.2'
x,b,c,r,r1,e,e1=symbols('x,e1')
e=sympify('x**4+b*x+c')
r=solveset(e,'x')
e1=e.subs({b:0,c:-1})
r1=solveset(e1)
r.subs({b:0,c:-1}),r1
>>({0},{−1,?})
为什么求解通用方程式,然后用b和c的值代替会失败?我在做什么错了?
我用python 2.7.5 sympy 0.7.6.1
和online sympy system得到了相同的结果。
解决方法
根据@Maelstrom和@ Oscar-Benjamin在上述评论中提出的评论和见解,sympy给出的答案是文献中引用的二次方程的通用公式。但是该公式在多项式系数的复杂函数条件下有效。 sympy返回的答案不包括这些条件。我不怀疑sympy这样做有充分的理由,但是我认为答案是不可用的。
碰巧 @staticmethod
def hide_keyboard(platform):
"""
Hides the software keyboard on the device.
"""
if platform == "Android":
driver.hide_keyboard()
elif platform == "iOS":
driver.find_element_by_name("Done").click()
违反了这些条件,并且通用公式计算得出的数字不是根。
从实际出发,应首先将实际值代入多项式,然后求根。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。