革命年 发表于 2020-7-27 19:31:07

我终于写出求一元四次方程解的程序了

我终于写出求一元四次方程解的程序了
这是一次到四次的代码
def ycfc(a,b):
    #一次方程
    return -b/a
def ecfc(a,b,c):
    #二次方程
    return (-b+((b**2)-4*a*c)**0.5)/a/2,(-b-((b**2)-4*a*c)**0.5)/a/2
def scfc(a,b,c,d):
    #三次方程
    d=b*c/(6*(a**2))-(b**3)/(27*(a**3))-d/2/a
    e=(d+(c/3/a-(b**2)/9/(a**2))**3)**0.5
    q=-b/3/a
    u=0+1j
    v=(-1+(3**0.5)*u)/2
    v1=(-1-(3**0.5)*u)/2
    return q+(d+e)**(1/3)+(d-1)**(1/3),q+v*((d+e)**(1/3))+v1*((d-e)**(1/3)),q+v1*((d+e)**(1/3))+v*((d-e)**(1/3))
def hcfc(a,b,c,d,e):
    #四次方程
    d1=(c**2)-3*b*d+12*a*e
    d2=2*(c**3)-9*b*c*d+27*a*(d**2)+27*(b**2)*e-72*a*e
    d3=((2**(1/3))*d1)/(3*a*(d2+(-4*d1**3+d2*2)**0.5)*(1/3))
    d4=((d2+(-4*(d1**3)+d2**2)**0.5)*1/3)/(3*(2**1/3)*a)
    d=d3+d4
    q=-b/4/a
    w=(b**2)/4*(a**2)-2*c/3/a
    r=-b*b*b/a/a/a+4*b*c/a/a-8*d/a
    t=(w+d)**0.25
    y=r/t
    u=0.5*(w+d)**0.5
    return q-u-0.5*(w-d-y)**0.5,q-u+0.5*(w-d-y)**0.5,q+u-0.5*(w-d+y)**0.5,q+u+0.5*(w-d+y)**0.5

PiotrPoczupow 发表于 2020-7-27 19:49:55

牛批

yaoyang1001 发表于 2020-7-27 21:57:27

66666666
页: [1]
查看完整版本: 我终于写出求一元四次方程解的程序了