二次曲面とトーラス(torus) (2回目)

2022/12/5(月)
二次曲面とトーラス (2回目)
 
トーラス(torus)は四次方程式なので
4次方程式の解(フェラーリの公式)
の求め方の解説です
 
Quartic equation
ax4 + bx3 + cx2 + dx2 + e = 0を解く
 
変形
B = b/a, C = c/a, D = d/a, E = e/aと置くと
x4 + Bx3 + Cx2 + Dx + E = 0
 
ここで
x = X - B/4と置くと(X3の項を消すため)
x4 + Bx3 + Cx2 + Dx + E
= (X-B/4)4+B(X-B/4)3+C(X-B/4)2+D(X-B/4)+E
= X4 - 4X3(B/4) + 6X2(B/4)2 - 4X(B/4)3 + (B/4)4 
+ BX3 - 3BX2(B/4) + 3BX(B/4)2 - B(B/4)3 
+ CX2 - 2CX(B/4) + C(B/4)2 
+ DX - DB/4 + E
= X4 + (-B + B)X3 + {6(B/4)2 - 3B(B/4) + C}X2 
+ {-4(B/4)3 + 3B(B/4)2 - 2C(B/4) + D}X
+ {(B/4)4  - B(B/4)3 - D(B/4) + E}
= X4 + {6(B/4)2 - 12(B/4)2 + C}X2 
+ {-4(B/4)3 + 12(B/4)3 - 2C(B/4) + D}X
+ {(B/4)4 - 4(B/4)4 - D(B/4) + E}
= X4 + {-6(B/4)2 + C}X2 
+ {8(B/4)3 - 2C(B/4) + D}X
+ {-3(B/4)4 - D(B/4) + E}
 
s = B/4
p = -6s2 + C
q = 8s3 - 2Cs + D
r = -3s4 - Ds + E
と置くと
X4 + pX2 + qX + r = 0
 
q = 0の時、(X4 + pX2 + r = 0)
X2 = {-p±√(p2-4r)}/2
X = ±√[{-p±√(p2-4r)}/2]
 
q ≠ 0の時、(X4 + pX2 + qX + r = 0)
u ≠ 0として
X4 + pX2 + qX + r
= {X2 + (p+u)/2}2 - uX2 + qX
- {(p+u)/2}2 + r
= {X2 + (p+u)/2}2 - u(X2 - qX/u)
- {(p+u)/2}2 + r
= {X2 + (p+u)/2}2 - u[{X - q/(2u)}2 - {q/(2u)}2 ]
- {(p+u)/2}2 + r
= {X2 + (p+u)/2}2 - u{X - q/(2u)}2 
- {(p+u)/2}2 + q2/(4u) + r
ここで
- {(p+u)/2}2 + q2/(4u) + r = 0となる
uをさがす
 
(p+u)2/4 - q2/(4u) - r = 0
u(p+u)2 - q2 - 4ru = 0
u(p+u)2 - 4ru = q2 … 3次分解方程式
 
3次方程式は少なくとも1個の実数解を
持つので、その値を今後uとすると
X4 + pX2 + qX + r
= {X2 + (p+u)/2}2 - u{X - q/(2u)}2 
= [X2 + (p+u)/2 + {X - q/(2u)}√u]
 [X2 + (p+u)/2 - {X - q/(2u)}√u]
 
{X2 + X√u + (p+u)/2 - (q√u)/(2u)}
{X2 - X√u + (p+u)/2 + (q√u)/(2u)} = 0
を解けば良いので
 
X = [-√u ±√[u - 4{(p+u)/2 - (q√u)/(2u)}]]/2
X = [ √u ±√[u - 4{(p+u)/2 + (q√u)/(2u)}]]/2
 
 
以下、uを求める
 
3次分解方程式を解く(実数解1個を見つける)
u(p+u)2 - 4ru = q2 より
u3 + 2pu2 + (p2 - 4r)u - q2 = 0
つまり
a = 1、b = 2p、c = (p2 - 4r)、d = - q2 
として
ax3 + bx2 + cx + d = 0
を解く
 
解法の詳しくは
https://ulprojectmail.blogspot.com/2021/10/n88-basic3-1.html
N88-BASICで3次方程式 (1回目)
を参照して下さい
 
x3 + bx2 + cx + d = 0は
x = X - b/3
P = (3c - b2)/3
Q = (33d - 32bc + 2b3)/33 
と置くと
X3 + PX + Q = 0
 
X = α+β, αω+βω2, αω2+βω
α= 3√[-q/2+√{(q/2)2 + (p/3)3}]
β= 3√[-q/2-√{(q/2)2 + (p/3)3}]
 
(q/2)2 + (p/3)3 = 0の時
X = α+β
= 2・3√(-q/2)
 
(q/2)2 + (p/3)3 > 0の時
X = α+β
α= 3√[-q/2+√{(q/2)2 + (p/3)3}]
β= 3√[-q/2-√{(q/2)2 + (p/3)3}]
 
(q/2)2 + (p/3)3 < 0の時
 
a = -q/2
b = (q/2)2 + (p/3)3 と置くと
α= 3√(a+bi)
β= 3√(a-bi)
 
xn = a+biの解は
x = |a+bi|1/n{cos((2πk+p)/n) + isin((2πk+p)/n)}
(p = Tan-1(b/a), k = 0~n-1の整数)
(ただし、Tan-1(正/0)=π/2,Tan-1(負/0)=-π/2とする)
|a+bi|2 = (a+bi)2 = a2 + 2abi - b2 
|a-bi|2 = (a-bi)2 = a2 - 2abi - b2 
cosθ=cos(-θ)、sinθ=-sin(-θ)、-p = Tan-1(-b/a)
より
x = |a-bi|1/n{cos((2πk+p)/n) - isin((2πk+p)/n)}
また
|a+bi|2 = (a+bi)(a-bi) = a2+b2 
= (a-bi)(a+bi) = |a-bi|2 
よって
 
X = α+β= 3√(a+bi) + 3√(a-bi)
= |a+bi|1/n{cos((2πk+p)/n)
(p = Tan-1(b/a), k = 0~n-1の整数)
= (a2+b2)1/2n{cos(Tan-1(b/a)/n)
 
このXからxを求めた値がuになる


このブログの人気の投稿

NEWS

N88-BASICでゲーム (1回目)