(论文)与复变函数求解一元三次方程式的根
以複變函數求解一元三次方程式的根
Solving roots of cubic equation using complex variable
余尚儒
國立台灣海洋大學河海工程學系,基隆,台灣 E-mail: [email protected]
摘要
解一元三次方程式發展至今已四百多年之久,但迄今所探討的一元三次方程式仍為實係數,對於複係數仍欠缺一套完整的解法。故本專題是以複數的手法將一元三次方程式求解的問題,透過平移與複數伸縮的技巧,再利用正餘弦之三倍角公式,轉變成三角函數問題
R
cos(3θ)=−3
S
,最後對其反函數來逆推其解。在判別式上,本專題利
用複變的操作,探討出其三根實虛與係數的關係,進而推導出其對應的判別式,以供實根與虛根之判定,是有別於文獻的推導[7]。除此之外,因為正餘弦與雙曲正餘弦含有複數轉換關係,故亦可利用雙曲正餘弦之三倍角公式,以類似的方法求其解。並在文中提出三個算例,來檢驗本計劃判別式的可行性與正確性。除此之外,本計劃也可解出一元三次複數係數方程式的根,故再舉一個算例來驗證。最後,將以上四範例利用Mathematica符號運算軟體計算求其根與並畫出平移及複變伸縮之過程,便於判斷其根的正確性與圖形的變化。
關鍵字: 一元三次方程式、三倍角正餘弦公式、複變函數
一、前言
隨著知識的成長,面對同樣的問題,通常有不同的想法與處理方式。國中時代,學了許多解一元二次方程式的方法,其中最常見的方法為公式解,但對於判別式中根號內小於0其根為無實數解的問題,便產生迷惑。故在高中時期,引入了複數的觀念,也使得一元二次方程式中的虛根得到解答;然而大學時期又遇到cos(θ)>1這種無法用實數理解的問題,進而透過複變函數來解決此類問題。
在一元三次方程式求解,已經算是一個數學發展史中的老問題。自卡登(1501~1576)公式以來已有四百年的歷史,在數學傳播期刊的文獻中,亦有幾篇精彩的論述。楊對於為何必須消去x2項以及為何需假設x=y+z均有補充說明[8]。而李亦以三次多項式的函數圖形探討根的性質,並對判別式作出說明[9]。前年曾等更從解一元三次方程式談到如何利用尺規構畫正七邊形[10]。綜而觀之,一個看似相當基本的一元三次方程式求根問題,竟如此有趣且具有內涵。
同樣的問題,不一定只能侷限於某種方法,以一個扭轉(Torsion)的問題為例,因為橫斷面形狀不同的關係,透過複變函數的手法,便可將其Neumann型邊界條件改成Dirichlet型[11]。可知一個在實數領域不易求解的問題,在複數領域內通常可找到一個簡捷的方法處理。故在學過複變函數後,對於是否可以以此方法來求解一元三次方
程式的根,引起了極大的興趣。故所以本計畫將以複變函數解決這個老問題,並推廣到求解複數係數的一元三次方程式。除此之外,在判別式的地方,也希望利用複變函數的方式來推導判別式,並與[9]比較。
二、理論推導
若給定一個一元三次方程式:
Ax3+Bx2+Cx+D=0
(1)
將(1)同除A可化簡成:
x3+ax2+bx+c=0
(2)
其中,a、b與c均為實數。
a
在以平移的概念將x+=X代入(2),則可得:
3
X3+QX+R=0 (3)
此式型態與三角函數中的三倍角公式相似:
31
cos3(θ)−cos(θ)=cos(3θ)
4431
sin3(θ)−sin(θ)=−sin(3θ)
44
(4) (5)
故需將(3)式中的X3+QX假設成此型式,便可利用複變函數的觀念將此一元三次方程式代入正弦或餘弦的三倍角公式。然而Q未必
3
等於−,為了實現此想法則需再利用複數伸縮的觀念將X=SY代入
4
(3)式,而得: 即:
S3Y3+QSY+R=0 (6)
QRY+2Y=−3
SS
3
(7)
4
其中S2=−Q。
3
若Q
若Q>0,則S將變成複數,透過此複數伸縮的操作,可將一元三次方程式轉變成複數問題,便可求解:
其反函數分別為:
cos−1(z)=
cos(3θ)=−
4R 3S4R
sin(3θ)=3
S
(8) (9)
π
2
+iln(iz+ (10)
(11)
sin−1(z)=−iln(iz+
故利用(10)與(11)式可推得θ的三個解,再利用Y=cos(θ)與
a
Y=sin(θ);X=SY以及x=X−的關係逐一逆推,即可得此一元三
3次方程式的三根。
以上是將一元三次方程式透過伸縮平移與正餘弦三倍角公式來求解,若以複數函數之考量,亦可改用雙曲三角函數來求解。
首先利用雙曲正餘弦函數中的三倍角公式
31
(12) cosh3(θ)−cosh(θ)=cosh(3θ)
44313
(13) sinh(θ)+sinh(θ)=sinh(3θ)
44
QR4
(12)(13)相似於(7)式中的Y3+2Y=−3,其中S2=−Q或
SS3
4
S2=Q
3
便將一元三次方程式轉變成雙曲函數問題
其反函數為
cosh(3θ)=−
4R 3S4R
sinh(3θ)=−3
S
(14) (15)
cosh−1(z)=−i+ln(iz+
2
sinh−1(z)=ln(z+
π
(16)
(17)
故利用(16)與(17)式可推得θ的三個解,再利用Y=cosh(θ)與
a
Y=sinh(θ);X=SY以及x=X−的關係逐一逆推,即可得此一元三
3次方程式的三根。
解一元三次方程式流程圖
三、一元三次實係數方程式判別式
若給定一個三次方程式必定可透過平移將f(x)轉成X3+QX+R,我們以cos(θ)為例進行推導,從由流程圖可知:
X=Scos(θ)
(18)
可知:
4Rcos(3θ)=−3,
其中S
=S
(19) (20)
14R3θ=π+ln[i(−3+i
2S
由於S的關係,將其分成兩部份來討論Q0 (1)當Q
4R
=c1並代入(19)與(20)式,其中c1屬於實數,可知:
3S
(21) (22)
cos(3θ)=c1
13θ=π+ln[ic1+i
2
為了判別3θ為實數或複數,故將c1分成三部份來討論,c12>1、
c12=1以及c12
4R
c12=−3=S
2
27R2
=− 3
4Q(23)
(Ⅰ)當c12>1,可將3θ展開為:
1
3θ=π+ln[ic1+i
21
=π+ln[i(c1+i2
π
±2nπ1=π+[ln(c1++ln(e2)]i2=∓2nπ+ln(c1+i式(24)中取正的來看,可得:
(24)
θ=nπ+ln[c1+i
便可利用X=Scos(θ),逆推求根: 22
X=S[cos(nπ)coshc2+sin(nπ)sinhc2i]
331
其中c2=ln[ic1+
3
2313
(25)
(26)
當n=0時,X必為實根。 當n=1,2時,X必為共軛複數根。
可知當c12>1時,X必為一實根與兩共軛複數根。 (Ⅱ)當c12=1,可將3θ展開為:
1
3θ=π+iln[i]
2
π
i(+2nπ)1
] =π+iln[e2
2=∓2nπ
式(27)中取正的來看,可得:
(27)
2θ=nπ
3
便可利用X=Scos(θ),逆推求根:
(28)
2
X=Scos(nπ)
3
(29)
當n=1,2時,X必為二重實根。
可知當c12=1時,X必為二重實根與一相異實根。 (Ⅲ)當0≤c12
1
3θ=π+ln[ic1+i
21
=π+ln[isin(α)+cos(α)]i
23nπ=∓−α
2其中tan−1(α)=
(30)
式(30) 中取正的來看,可得:
θ=
nπ
−α 2
(31)
便可利用X=Scos(θ),逆推求根:
nπ
X=Scos(−α)
2
(32)
可知當0≤c120時,S與cos(3θ)均為純虛數。
4R
假設−3=c3i其中c3屬於實數,可得:
S
cos(3θ)=c3i
13θ=π+ln[−c3+i
2
(33) (34)
可將3θ展開為:
θ=nπ+ln[−c3+i
便可利用X=Scos(θ),逆推求根: 5
X=Scos(nπ+c4i)
6
55
=S[cos(nπ)coshc4+sin(nπ)sinhc4i]
661
其中c4=ln[−c3+
3
5613
(35)
(36)
當n=0,1時,X必為共軛複數根。 當n=2時,X必為實根。
可知當Q>0時,X必為一實根與兩共軛複數根。
表1. 判別式比較表
將上式判別式結果整理並與判別式[9]做比較如表1,其中可發現兩判別式的關係為D=
DL
+1,若將左式取倒數後整理後,便與[9]相同。 3
4Q
三、範例說明
範例一、x3+1=0: 令x=cos(θ)+isin(θ) 則原式可轉化為: cos(3θ)+isin(3θ)=−1
cos(3θ)+isin(3θ)=cos(π)+isin(π)
可得: 3θ=(1+2n)π,n=0,1,2,...
θ=
π
3、π、5
3
π 則:
xππ11=cos(3+isin(3)=2+2
i
x2=cos(π)+isin(π)=−1
x5π13=cos(
5π3)+isin(3)=2−
2
i
11
(37)(38)
(39)(40)
(40)(41)
(42)
範例二、x3−6x2+11x−6=0 首先令x=X−a
3
=X+2代入上式
(X+2)3−6(X+2)2+11(X+2)−6=0
化簡後得:
X3−X=0
令 X=SY,可得知:
Y3
−1
S
2Y=0
假設
−1−3S2
=
4,則S=,可將上式轉化成Y3
−34Y=0 (Ⅰ)令Y=cos(θ),則原式變為:
cos(3θ)=0
可得知: 3θ=(1
2
+2n)π,n=0,1,2,...
Yπ5π9π
1=cos(6=2,Y2=cos(6)=−2,Y3=cos(6
)=0
利用複數伸縮X=SY可得知:
X1=
=1,X=−1,X2=3==0 利用平移x=X−a
3可得知:
x1=1+2=3,x2=−1+2=1,x3=0+2=2
12
(43)
(44)
(45)
(46)
(47)
(48)
(49)
(50)
(Ⅱ)若改令Y=sin(θ),則原式變為:
sin(3θ)=0
則:
3θ=2nπ,n=0,1,2,...
同理依序可得知:
Y1=sin(0)=0,Y2=sin(
2π4π3=2,Y3=sin(3=−2
X1==0,X=2=1,X3==−1
x1=0+2=2,x2=1+2=3,x3=−1+2=1
(Ⅲ)若改令Y=cosh(θ),則原式變為:
cosh(3θ)=0
則:
3θ=(1
2
+2n)πi,n=0,1,2,...
同理依序可得知:
Yπ1=cosh(6i)=
2,Y5π62,Y9π
2=cosh(i)=−3=cosh(6
i)=0 X1=
=1,X2==−1,X3==0
x1=1+2=3,x2=−1+2=1,x3=0+2=2
13
(51)
(52)
(53)
(54)(55)
(56)
(57)
(58)
(59)(60)
(Ⅳ)若改令Y=sinh(θ) 即
−1S2
=
34,,S=3
3,可將上式轉化成Y+4Y=0 原式變為:
sinh(3θ)=0
則:
3θ=2nπi,n=0,1,2,...
同理依序可得知:
Y1=sinh(0)=0,Yi2=sinh(
2π3)=2i,Y4πi3=sinh(3)=−2
i X1==0,X2==1,X3==−1
x1=0+2=2,x2=1+2=3,x3=−1+2=1
上述的例題,以四種方式均得到相同的結果。
14
(61)
(62)
(63)
(64)(65)
範例三、x3+2x2+2x+1=0: 首先令x=X−
a2
=X−代入上式 3323222
(X−)−6(X−)+11(X−)−6=0
333 27X+X+=0
327
3
(66)
化簡後得:
(67)
令 X=SY,可得:
27Y+2Y=−
3S27S3
3
(68)
假設
2−333=
S=±
iY−Y=±i ,則,可將上式轉化成23S43432
(Ⅰ)令Y=cos(θ),則原式變為:
cos(3θ)=±
i8
(69)
則:
∓+3θ=+iln(28
π
(70)(71)
θ=
1+4n1
π+iln2,n=0,1,2,... 62
可知:
Y1=cos(
π
6
+i=
−i 88
(72)
Y2=cos(
5π+i=−−i 688
(73)
15
Y9π
3=cos(
6+i=
利用複數伸縮X=SY可得知:
X1=(
8−8i)3i=16(1+)
X2=(−
8−1
8i)3i=6
(1−)
X1
3==−3
利用平移x=X−a
3
可得知:
x1211=6(1+)−3=−2+2i
x=16(1−)−2123=−2−2i
X13==−3
(Ⅱ)若改令Y=sin(θ),則原式變為:
sin(3θ)=∓8
i
則:
3θ=i
θ=2n
6
π+ilnn=0,1,2,...
16
(74)
(75)
(76)
(77)
(78)
(79)
(80)
(81)
(82)
(83)
Y1=sin(0+i=
Y=sin(π3+i=28−8
i
Y2π3=sin(3+i=−8−8
i
利用複數伸縮X=SY可得知:
X1=
=−1
3
X=(8−8i)3=1
26(1+)
X3=(−
8−8i)3i=1
6
(1−) 利用平移x=X−a
3
可得知:
x=−13−2
13
=−1
x1212=6(1+)−3=−2+2i
x16)−23=−13=(1−2−2
i
(Ⅲ)若改令Y=cosh(θ),則原式變為:
cos(3θ)=±
8
i
17
(84)
(85)
(86)
(87)
(88)
(89)
(90)
(91)
(92)
(93)
3θ=−π
i+∓+2
ln(
8
θ=4n−116πi+2
ln2,n=0,1,2,...
可知:
Yπ1=cosh(−6i+ln=8−8
i
Y2=cosh(
3π
6i+=
Yi3=cosh(
7π6+ln=−8−8
i 利用複數伸縮X=SY可得知:
X1=(
8−8i)3i=16(1+)
X12==−3
X3=(−
8−8i)3i=1
6
(1−) 利用平移x=X−a
3
可得知:
x1211=6(1+)−3=−2+2i
x12
2=−3−3
=−1
18
(94)(95)
(96)
(97)
(98)
(99)
(100)
(101)
(102)(103)
x16−)−23=−12−3=(12
i
(Ⅳ)若改令Y=sinh(θ) 即
233S2
=
4,S=±3,
可將上式轉化成Y3
+34Y=±32
原式變為:
sinh(3θ)=∓
8
則:
3θ=
θ=2n
3
πi−n=0,1,2,...
可知:
Y1=sinh(0−ln=
Y2=sinh(
2πi3−=8+8i
Y4π3=sinh(
3−ln=8−8
i 利用複數伸縮X=SY可得知:
X1
1==−3
19
(104)
(105)
(106)
(107)
(108)
(109)
(110)
(111)
X1
2=8+8i)3=6(1+)
X3=8−8i)3=16
(1−) 利用平移x=X−a
3
可得知:
x−12
1=3−3
=−1
x1212=6(1+)−3=−2+2i
x=126(1−)−3=−12−32
i
上述的例題,以四種方式均得到相同的結果。
20
(112)
(113)
(114)
(115)
(116)
以上三例,均為實係數方程式透過平移及複數伸縮操作求其三個根,故另舉一複數係數方程式,以供學習與理解此方法。 範例四、x3+(−2−i)x2+(2+2i)x+(0−2i)=0 首先令x=X−a(−2−i)
3=X−
3
代入上式
[x−(−2−i)3(−2−i)2(−2−i)3]−6[x−3+11[x−3
−6=0
化簡後得:
X3
+(1+23i)X+(1422
27−27
i)=0
令 X=SY,可得:
Y3
+(
3+2i3Y22i−141S2=(27)S3 假設(3+2i
31−3S2=4,則S==±(0.366834−1.21157i)可將上式轉化成
Y3
−34Y=(Ⅰ)令Y=cos(θ),則原式變為:
cos(3θ)==1.81057−0.590524i
則: 3θ=0.363846+1.28004i
θ=
2nπ
3
+(0.1212282+0.42668i),n=0,1,2,... 可知:
(117)
(118)
(119)
(120)
(121)
(122) (123)
Y1=cos(0.121282+0.42668i)=1.08439−0.0532024i Y2=cos(2.21568+0.42668i)=−0.656655−0.351431i Y3=cos(4.31007+0.42668i)=−0.427737+0.404634i
(124) (125) (126)
利用複數伸縮X=SY可得知:
X1=(1.08439−0.0532024i)×(0.366834−1.21157i)=0.333333−1.333333iX2=(−0.656655−0.351431i)×(0.366834−1.21157i)=−0.666667+0.666667iX3=(−0.427737+0.404634i)×(0.366834−1.21157i)=0.333333+0.666667ia
利用平移x=X−可得知:
3
21
x1=(0.333333−1.333333i)−(−−i)≅1−i
3321
x2=(−0.666667+0.666667i)−(−−i)≅0+i
3321
x3=(0.333333+0.666667i)−(−−i)≅1+i
33
(127) (128) (129)
(Ⅱ)若改令Y=sin(θ),則原式變為:
sin(3θ)=
=−1.81057+0.590524i
(130)
則:
3θ=−1.20695+1.28004i (131) (132)
θ=
2nπ
+(−0.402317+0.42668i),n=0,1,2,... 3
可知:
Y1=sin(−0.402317+0.42668i)=−0.427737−0.404634i
(133) (134)
Y2=sin(1.69208+0.42668i)=1.08439−0.0532024i
Y3=sin(3.78647+0.42668i)=−0.656655−0.351431i
(135)
利用複數伸縮X=SY可得知:
X1=(−0.427737−0.404634i)×(0.366834−1.21157i)=0.333333+0.666667iX2=(1.08439−0.0532024i)×(0.366834−1.21157i)=0.333333−1.33333iX3=(−0.656655−0.351431i)×(0.366834−1.21157i)=0.333333+0.666667i利用平移x=X−a
3
可得知:
x=(0.333333+0.666667i)−(−23−1
13i)≅1+i
x=(0.333333−1.333333i)−(−23−1
23i)≅1−i
x−0.666667+0.666667i)−(−23−1
3=(3
i)≅0+i
(Ⅲ)若改令Y=cosh(θ),則原式變為:
cos(3θ)==1.81057−0.590524i
則: 3θ=1.28004−0.363846i
θ=
2nπi
3
+(0.42668−0.121282i),n=0,1,2,... 可知: Y1=cosh(0.42668−0.121282i)=1.08439−0.0532024i Y2=cosh(0.42668+1.97311i)=−0.427737+0.404634i
Y3=cosh(0.42668+4.06751i)=−0.656655−0.351431i
利用複數伸縮X=SY可得知:
(136) (137) (138)
(139)
(140) (141)
(142) (143) (144)
1=−×−=−X2=(−0.427737+0.404634i)×(0.366834−1.21157i)=0.333333+0.666667iX3=(−0.656655−0.351431i)×(0.366834−1.21157i)=−0.666667+0.666667ia
利用平移x=X−可得知:
3
21
x1=(0.333333−1.333333i)−(−−i)≅1−i
3321
x2=(0.333333+0.666667i)−(−−i)≅1+i
3321
x3=(−0.666667+0.666667i)−(−−i)≅0+i
33
(145) (146) (147)
(Ⅳ)若改令Y=sinh(θ)
2333
即 2=
,S=
可將上式轉化成Y−Y=∓
3S44則原式變為:
sinh(3θ)==0.590524+1.81057i
(148)
則:
3θ=1.28004+1.20695i (149) (150)
θ=
2nπ
i+(1.28004+1.20695i),n=0,1,2,... 3
可知:
Y1=sinh(0.42668+0.402317i)=0.404634+0.427737i Y2=sinh(0.42668+2.49671i)=−0.351431+0.656655i Y3=sinh(0.42668+4.59111i)=−0.0532024−1.08439i
(151) (152) (153)
利用複數伸縮X=SY可得知:
1=+×+=+X2=(−0.351431+0.656655i)×(1.21157+0.366834i)=−0.666667+0.666667iX3=(−0.0532024−1.08439i)×(1.21157+0.366834i)=0.333333−1.33333ia
利用平移x=X−可得知:
3
21
x1=(0.333333+0.666667i)−(−−i)≅1+i
3321
x2=(−0.666667+0.666667i)−(−−i)≅0+i
3321
x3=(0.333333−1.33333i)−(−−i)≅1+i
33
(154) (155) (156)
綜整以上四例,依照cos(θ)、sin(θ)、cosh(θ)與sinh(θ)其求解過程與三個根得平移及複數伸縮操作,並且整理成表2~5。
四、Mathematica程式
4.1 Mathematica基本繪圖指令
f[x]//Simplify
最常用的化簡指令,將數學式化成較精簡的式子
ComplexExpand[f[x]]
將f[x]以複數的型式展開。
ListPlot[{x,y}]:
畫出{x,y}的點在圖形上。
PlotStyle→{Style1,Style2,…}:
函數圖形的格式設定,如:顏色、出圖範圍、圖形的寬度等。
RGBColor[R,G,B]:
設定顏色,以紅、綠、藍三色間的比例表示。
Thickness[數值]: 設定圖形軌跡的寬度。
PlotRange→{{min,max},{min,max}}: 設定出圖範圍,前為x軸,後者為y軸。
4.2程式編寫流程
1. 定義函數f(x),並給定係數。
a:=−2−