※ [本文轉錄自 ck47th314 看板]
作者: KevinLan (Posaunenblaeser) 看板: ck47th314
標題: Re: 公式解
時間: Thu Jan 6 01:34:44 2000
※ 引述《KevinLan (Posaunenblaeser)》之銘言:
: ※ 引述《jes (毛)》之銘言:
: : ax^4+bx^3+cx^2+dx+e=0
: : 有沒有解析解啊
: : 我猜abcde都是常數
: : 我幫別人問的
: 有公式解...
: 不過挺複雜...
: 其中要用到三次方程式的解法...
: 所以...
: 通常把導的過程重複一遍還比記公式實在...
: 我整理一下再 post 上來...
先 po 三次方程式的解法:
理論篇: (不想看可以直接跳到最後...)
對任意三個數 t1,t2,t3
考慮置換群 S3 (就是把 {1,2,3} 重新排列的所有一對一函數)
則 S3 可以作用在 t1,t2,t3 所寫成的多項式上
作用的方法就是作用於式子中每個 t1,t2,t3 的下標
(於是也定義了一個多項式到多項式的一對一函數)
現在假設有一個方程式 x^3-s1*x^2+s2*x-s3=0
若其解為 t1,t2,t3
則 s1,s2,s3 可表達成 t1,t2,t3 的多項式 (如 s1=t1+t2+t3)
且 S3 作用在 s1,s2,s3 上不變
(此種多項式即所謂的對稱式)
考慮 1 的三次原根 w (即 w^3=1 且 w!=1), 定義:
y1=t1+w*t2+w^2*t3
y2=t1+w^2*t2+w*t3
考慮 S3 的子群 A3 = {所有 S3 中的偶置換}
偶置換的意思是: 由於任何的置換都可分解成許多"對換"的合成
(所謂對換就是只把某兩個 i,j 交換的置換)
且分解出來的個數的奇偶性是可以唯一決定的(有興趣可以證明看看)
所以其中分解成的對換個數為偶的就稱為偶置換
其個數恰為整個置換群的一半
具體來說如 (1 2 3) (意思為 1->2->3->1) 可表成 (1 2)(2 3)
(合成的順序如同函數, 後者先作用)
所以 (1 2 3) 是一偶置換, 同理 (1 3 2) 也是, 什麼都不作用的 id. 自然也是
而 S3 的所有元素恰有 3! = 6 個
如此三個偶置換就是全部的 A3 了
則要看 A3 的作用只要看 (1 2 3) 與 (1 3 2) 即可
(1 2 3) 只會把 y1 送到 w*y1 或 w^2*y1
y2 送到 w*y2 或 w^2*y2
所以 y1^3 與 y2^3 在 A3 的作用下不變
而 S3 中其他的奇置換會把兩者交換
於是 y1^3+y2^3 與 y1^3*y2^3 在 S3 的作用下不變
由對稱式的定理可知此兩式可用 s1,s2,s3 生成
(此定理是說: 若 Π(x+ti)=x^n+s1*x^(n-1)+...+sn, 則所有 ti 的對稱式都
可用 si 的多項式表示)
於是若 t^2+at+b=(t-y1^3)(t-y2^3)
則 a,b 是 s1,s2,s3 的多項式 (s1,s2,s3 是我們解方程式時僅有的資訊)
反之由 a,b 反解即可得 y1^3 與 y2^3
(所以此二次方程式就稱為原本三次方程式的 "預解式")
再開三次根反解 y1,y2
此時可得出 9 組解
但 y1*y2 本身就要滿足一些關係式, 所以會減少成 3 組
而由定義可得 t1=(s1+y1+y2)/3, t2=(s1+w^2*y1+w*y1)/3, t3=(s1+w*y2+w^2*y3)/3
其中開三次根得出的不同組 y1,y2 只會把 t1,t2,t3 的排列順序改變
(這是合理的, 因為本來就不知道哪個是哪個...)
於是就解出來了...
由於以上的過程並沒有假定 s1,s2,s3 的任何性質
所以自然代表一般的三次方程式都可以用以上步驟解出
也就是有根式解
以上是理論部份...
實作部份就比較單純了:
拿到一個三次方程式 x^3+a*x^2+b*x+c=0
不妨一開始就做一個代換 x->x-a/3 把 x^2 的係數消掉
(之後再加回來就行了)
假設方程式為 x^3+p*x+q=0
即 s1=t1+t2+t3=0, s2=p, s3=-q
現在假設三根為 t1,t2,t3, y1,y2 定義如前
y1*y2=t1^2+t2^2+t3^3+(w+w^2)(t1*t2+...(交叉項))
=t1^2+t2^2+t3^3-(t1*t2+...)
=(t1+t2+t3)^2-3*(t1*t2+...)
=s1-3*s2=-3*p
y1^3*y2^3=-27p
y1+y2=2*t1+(w+w^2)*(t2+t3)=3*t1-(t1+t2+t3)=3*t1
y1^3+y2^3=(y1+y2)^3-3*(y1+y2)*(y2*y2)
=(3*t1)^3-3*(3*t1)*(-3*p)
=27*(t1^3+p*t1)=-27*q
(利用 t1 是 x^3+p*x+q=0 的解)
於是 y1^3, y2^3 是 t^2+27*q*t-27p 的解
依照二次方程式的解法解出 y1^3, y2^3
開三次根得出 z1,z2
則真正的 y1 可能為 z1,w*z1,w^2*z1
y2 可能為 z2,w*z2,w^2*z2
共九種組合
但因 y1,y2 需要滿足 y1*y2=-3*p
所以可能正確的解只有其中三組
假設其中一組為 y1,y2
則其他可能就是 w*y1,w^2*y2 與 w^2*y1,w*y2
而三組解 t1=(s1+y1+y2)/3=(y1+y2)/3
t2=(w*y1+w^2*y2)/3
t3=(w^2*y1+w*y2)/3
恰好就是這三種可能拿去相加除以三
有一種比較快的方法可以直接得到最後這個結果
就是偷看解答把 x 寫成 x=u+v
於是 x^3=(u+v)^3=u^3+v^3+3*(u+v)*u*v=u^3+v^3+3*u*v*x
但 x^3=-px-q
所以如果解 u^3+v^3=-q, 3*u*v=-p
就可以解出 x=u+v
後面跟前面的方法就一樣了...
這個方法比較 "機巧" ...
但不能推廣到高次的作法
也不能看出為什麼五次以上的方程式沒有公式解
(但這個方法是最早被人發明的, 就是所謂的 Cardano 公式)
寫成公式是:
x={ -q/2 + sqrt( q^2/4+p^3/27 ) }^1/3 + { -q/2 - sqrt( q^2/4+p^3/27) }^1/3
不過其中開三次根的部份每個都有三種可能
所以必須交代清楚
想直接套公式的人可得留意
呵呵呵...
--
※ 發信站: 批踢踢實業坊(ptt.twbbs.org)
◆ From: cartan.math.ntu.edu.tw
--
※ 發信站: 批踢踢實業坊(ptt.twbbs.org)
◆ From: aries.me.ntu.edu.tw
討論串 (同標題文章)
完整討論串 (本文為第 1 之 3 篇):