一元三次方程求解的 Cardano 公式
摘 要 本文介绍了一元三次方程求解的 Cardano 公式的推导方法, 即先消除二次项, 再使用代换降幂. 并指出 Cardano 公式在三次方程的解全为实数的情况下具有局限性.
Cardano 公式由意大利数学家 Tartaglia 于 1541 年发现.
1 二次项的消除
对于一般的三元一次方程 ax′3+bx′2+cx′+d=0 (a=0), 先作代换 x=x′−b/3a, 再将最高次项系数化为 1, 得到等价方程
x3+px+q=0,p=3a23ac−b2,q=27a32b3−9abc+27a2d
然后设有一组 u,v 满足
u+v=x1,2,3,uv=−p/3
我们指出这样的 u,v 总是存在的 (但可能为复值), 并且它们总是关于 t 的二次方程 t2−x1,2,3t−p/3=0 的三组解.
2 u,v 的显式解
上述方程中一次项系数含有未知数 x, 现在通过变换尝试将其消去. 将 x=u+v 回代, 整理得到
(u3+v3)+(3uv+p)(u+v)+q=0
注意到 3uv+p=0, 所以 u3+v3=−q. 再考虑 uv=−p/3⟹u3v3=−p3/27 (注意此过程会产生增根), 所以 u3,v3 是关于 t 的二次方程
t2+qz−27p3=0
的两个解, 而这个方程的系数是完全已知的. 使用二次方程的求根公式求解得
u3=t1=−2q+Δ,v3=t2=−2q−Δ,Δ=4q2−27p3
令 u=3t1, v=3t2 所以
u1,2,3=u, uω, uω2,v1,2,3=v, vω, vω2
其中 ω=cis60∘=exp2πi/3=−1/2+3i/2 是三次单位根.
前述方程一共产生了 9 组解, 我们只取能满足 uv=−p/3 的三组即可. 它们是
x1=u1+v1=u+v,x2=u2+v3=uω+vω2,x3=u3+v2=uω2+vω
这样就得到了一元三次方程求解的 Cardano 公式
x=u+v,uω+vω2,uω2+vω,u,v=−2q±Δ,Δ=4q2−27p3
3 根的重数和 Cardano 公式的局限性
我们指出:
- 当 Δ<0 时, 方程有三个两两不同的实根, 称为不可约情形;
- 当 Δ=0 时, 方程有三个实根, 其中一个至少是 2-重根;
- 当 Δ>0 时, 方程有一个实根和一对共轭复根.
在不可约情形下, Cardano 公式总会给出嵌套根号的解. 例如对于方程
x3−15x−4=0
该方程有三个实根 x1=4, x2,3=−2±3, 但是 Cardano 公式仅能给出例如以下形式的解:
x1=32+−121+32−−121
虽然该式结果确为 4, 但在引入虚数前, 该根式无法进一步化简. 这是 Cardano 公式的局限性.