三次公式是三次方程的閉式解,即三次多項式的根。一個一般的三次方程的形式為
|
(1)
|
(係數 ,即
的係數,可以透過將整個方程除以
而不妨假設為 1)。Wolfram 語言可以使用內建命令精確地解三次方程Solve[a3 x^3 + a2 x^2 + a1 x + a0 == 0, x]。該解也可以用 Wolfram 語言代數根物件來表示,首先發出命令SetOptions[Roots,
Cubics -> False].
三次方程(以及四次方程)的解是由 Gerolamo Cardano (1501-1576) 在其著作 Ars Magna 中發表的。然而,Cardano 並非這些結果的最初發現者。三次方程的提示是由 Niccolò Tartaglia 提供的,而四次方程是由 Ludovico Ferrari 解出的。然而,Tartaglia 本人可能從其他來源得知了該解法。這個解法顯然最初是由博洛尼亞大學一位鮮為人知的數學教授 Scipione del Ferro (約 1465-1526) 得出的。雖然 del Ferro 沒有發表他的解法,但他將其透露給了他的學生 Antonio Maria Fior (Boyer 和 Merzbach 1991, p. 283)。顯然 Tartaglia 在 1541 年左右從這裡得知了解法。
為了解一般的三次方程 (1),合理的開始是嘗試透過進行形式為的替換來消除 項
|
(2)
|
然後
|
(3)
| |
|
(4)
| |
|
(5)
|
透過令 ,
項被消去,因此
|
(6)
|
然後
|
(7)
| |||
|
(8)
| |||
|
(9)
|
因此方程 (◇) 變為
|
(10)
| |
|
(11)
| |
|
(12)
|
定義
|
(13)
| |||
|
(14)
|
然後使得 (◇) 可以寫成標準形式
|
(15)
|
最簡單的方法是進行 韋達替換
|
(16)
|
這會將三次方程簡化為方程
|
(17)
|
透過乘以 可以很容易地轉化為關於
的二次方程,得到
|
(18)
|
(Birkhoff 和 Mac Lane 1996, p. 106)。來自二次公式的結果是
|
(19)
| |||
|
(20)
| |||
|
(21)
|
其中 和
有時比
和
更便於處理。因此,對於
有六個解(對於
的每個根,對應於兩個符號)。將
代回 (19) 得到三對解,但每對解都相等,因此三次方程有三個解。
方程 (◇) 也可以透過嘗試從三次方程中提取 形式為 的項來進行顯式分解,從而留下一個二次方程,然後可以使用二次公式進行分解。這個過程等價於進行韋達替換,但在激發韋達的“神奇”替換以及生成解的顯式公式方面做得稍好一些。首先,定義中間變數
|
(22)
| |||
|
(23)
|
(它們與 和
在常數因子內相同)。然後,一般三次方程 (◇) 變為
|
(24)
|
設 和
暫時為任意常數。完全立方多項式方程滿足的恆等式是
|
(25)
|
因此,如果一般三次方程沒有 項(即如果
),則可以直接分解。但是,由於通常
,在 (25) 的兩邊都加上
的倍數——比如
——得到稍微複雜的恆等式
|
(26)
|
重新組合項後,即為
|
(27)
|
現在我們想匹配 係數 和
與方程 (◇) 的係數,因此我們必須有
|
(28)
|
|
(29)
|
將前者代入後者,得到
|
(30)
|
因此,如果我們能找到一個滿足上述恆等式的 值,我們就從三次方程中分解出一個線性項,從而將其簡化為二次方程。實現這一奇蹟的試探解是以下對稱表示式
|
(31)
|
對 取二次方和三次方得到
|
(32)
| |||
|
(33)
| |||
|
(34)
| |||
|
(35)
| |||
|
(36)
| |||
|
(37)
| |||
|
(38)
|
將 和
代入 (◇) 的左側得到
|
(39)
|
因此我們確實找到了 (◇) 的因子 ,現在我們只需要分解二次部分。將
代入 (◇) 的二次部分並求解得到的
|
(40)
|
然後得到解
|
(41)
| |||
|
(42)
| |||
|
(43)
|
這些可以透過定義來簡化
|
(44)
| |||
|
(45)
| |||
|
(46)
| |||
|
(47)
|
這樣,二次部分的解可以寫成
|
(48)
|
定義
|
(49)
| |||
|
(50)
| |||
|
(51)
|
其中 是多項式判別式(Birkhoff 和 Mac Lane 1996 對其定義略有不同,包括相反的符號),然後給出
和
的非常簡單的表示式,即
|
(52)
| |||
|
(53)
|
因此,最後, 的原始方程的根由下式給出
|
(54)
| |||
|
(55)
| |||
|
(56)
|
其中 是原始方程中
的係數,
和
如上定義。這三個給出三次方程的三個根的方程有時被稱為卡爾達諾公式。請注意,如果方程是韋達的標準形式
|
(57)
|
在變數 中,則
,
,且
,中間變數具有簡單的形式(參見 Beyer 1987)
|
(58)
| |||
|
(59)
| |||
|
(60)
|
解滿足韋達公式
|
(61)
| |||
|
(62)
| |||
|
(63)
|
在標準形式 (◇) 中,,
,且
,因此消除
得到
|
(64)
|
對於 ,消除
得到
|
(65)
|
|
(66)
| |||
|
(67)
| |||
|
(68)
| |||
|
(69)
|
卡爾達諾公式中 的方程沒有顯式出現的
,而
和
則有,但這並不能說明實根和復根的數量(因為
和
本身通常是複數)。但是,可以透過注意到,如果多項式判別式
,則一個根是實數,兩個是複共軛;如果
,則所有根都是實數,並且至少有兩個相等;如果
,則所有根都是實數且不相等。如果
,定義
|
(70)
|
|
(71)
| |||
|
(72)
| |||
|
(73)
|
這個過程可以推廣到找到標準形式 (◇) 的任何方程的實根,方法是使用恆等式
|
(74)
|
(Dickson 1914)並設定
|
(75)
|
(Birkhoff 和 Mac Lane 1996, pp. 90-91),然後
|
(76)
|
|
(77)
|
|
(78)
|
如果 ,則使用
|
(79)
|
得到
|
(80)
|
如果 且
,使用
|
(81)
|
如果 且
,使用
|
(82)
|
得到
|
(83)
|
原始方程的解是
|
(84)
|
求解三次方程的另一種方法是使用拉格朗日預解式 (Faucette 1996)。設 ,定義
|
(85)
| |||
|
(86)
| |||
|
(87)
|
其中 是
|
(88)
|
的根,並考慮方程
|
(89)
|
|
(90)
|
對於 , 1, 2。相乘得到
|
(91)
|
可以寫成 (88) 的形式,其中
|
(92)
| |||
|
(93)
|
Berndt (1994) 給出了一些由拉馬努金髮現的關於三次方程根的有趣的恆等式。