卡尔丹公式(Cardano formula)
对于三次方程ax3+bx2+cx+d=0,我们可以不失一般性假设a=1,b≥0。
对于x3+bx2+cx+d=0,可以做替换x=y−3b。因为y是关于x的一次函数,所以x与y形成双射,只需求解方程(y−3b)3+b(y−3b)2+c(y−3b)+d=0,化简得y3+(−3b2+c)y+272b3−3bc+d=0。由此可见这一步换元的目的是消去二次项,把求解一般三次方程的问题转化为了求解二次项为0的三次方程的问题。
设p=−3b2+c,q=272b3−3bc+d,那么只需考虑一下一般性的问题y3+py+q=0。做换元y=u+v,p=−3uv,代入得到(u+v)3+p(u+v)+q=0。展开得u3+3uv2+3uv2+v3+p(u+v)+q=0。整理得u3+v3+3uv(u+v)+p(u+v)+q=0,代入uv=−3p得到u3+v3+q=0。再代入v=−3up,得到u3−27u3p3+q=0。也即u6+qu3−27p3=0。这是一个关于u3的二次方程,所以立即得到u3=2−q±q2+274p3。设r=2−q±q2+274p3,那么u3=r在负数域内有三个解r31,r31(−21+23i),r31(−21−23i)。分别把这三个解记为u1=r31ω1,u2=r31ω2,u3=r31ω3,那么可以代回得到v1=−3u1p,v2=−3u2p,v3=−3u3p,所以能够得到y的三个解y1=u1−3u1p,y2=u2−3u2p,y3=u3−3u3p。
还需要进一步分析
由代数基本定理可得,这就是全部的三个解了。
综上,可以整理得到三次方程的求根公式。懒得打。称为卡尔丹公式。