|
3次方程式を解く - ラグランジュのリゾルベントと補助方程式(リゾルベントを解に持つ2次方程式)
2次方程式 x^2+ax+b=0 のとき、2つの解をα,βとすると、
L=(α-β)^2=(α+β)^2-4αβ=a^2-4b より、
連立方程式(行列による表現)
┌ 1 1 ┐┌ α ┐=┌ -a ┐
└ 1 -1 ┘└ β ┘ └ √(a^2-4b) ┘
を解けばよい。
これより、解の公式を得る。
補足
リゾルベントと解の関係
(α+β)+(α-β) = 2α
(α+β)-(α-β) = 2β
または
α,β=((α+β)±(α-β))/2=((α+β)±√{(α-β)^2})/2=((α+β)±√{(α+β)^2-4αβ})/2=(-a±√{a^2-4b})/2
3次方程式 x^3+ax^2+bx+c=0 のとき、3つの解をα,β,γとすると、
L1
=(α+ωβ+ω^2γ)^3
=α^3+β^3+γ^3+6αβγ + 3ω(α^2β+β^2γ+γ^2α) + 3ω^2(αβ^2+βγ^2+γα^2)
L2
=(α+ω^2β+ωγ)^3
=α^3+β^3+γ^3+6αβγ + 3ω(αβ^2+βγ^2+γα^2) + 3ω^2(α^2β+β^2γ+γ^2α)
より、
L1+L2
=2(α+β+γ)^3 - 9(α+β+γ)(αβ+βγ+γα) + 27αβγ
=-2a^3+9ab-27c
L1L2
=((α+β+γ)^2 - 3(αβ+βγ+γα))^3
=(a^2-3b)^3
以上より、補助方程式 t^2 - (L1+L2)t + L1L2 = 0 ∴t^2 + (2a^3-9ab+27c)t + (a^2-3b)^3 = 0
この2次方程式の2つの解をt1,t2とすると、
連立方程式(行列による表現)
┌ 1 1 1 ┐┌ α ┐=┌ -a ┐
│ 1 ω ω^2 ││ β │ │ t1^(1/3) │
└ 1 ω^2 ω ┘└ γ ┘ └ t2^(1/3) ┘
を解けばよい。
補足
リゾルベントと解の関係
(α+β+γ)+ (α+ωβ+ω^2γ)+ (α+ω^2β+ωγ) = 3α
(α+β+γ)+ω^2(α+ωβ+ω^2γ)+ ω(α+ω^2β+ωγ) = 3β
(α+β+γ)+ ω(α+ωβ+ω^2γ)+ω^2(α+ω^2β+ωγ) = 3γ
OPTION ARITHMETIC COMPLEX !複素数
LET A=3 !x^3+Ax^2+Bx+C=0
LET B=0
LET C=-1
CALL Solve3EQU(A,B,C, x1,x2,x3)
PRINT x1 !解を表示する
PRINT x2
PRINT x3
DEF f(x)=x^3+A*x^2+B*x+C !検算
PRINT f(x1); f(x2); f(x3)
LET A=-8 !x^4+Ax^3+Bx^2+Cx+D
LET B=26
LET C=-44
LET D=40
CALL Solve4EQU(A,B,C,D, x1,x2,x3,x4)
PRINT x1
PRINT x2
PRINT x3
PRINT x4
DEF g(x)=x^4+A*x^3+B*x^2+C*x+D
PRINT g(x1); g(x2); g(x3); g(x4)
END
EXTERNAL FUNCTION pow(x,y) !べき乗 x^y
OPTION ARITHMETIC COMPLEX !複素数
LET pow=EXP(y*LOG(x)) !x^y
END FUNCTION
EXTERNAL SUB Solve2EQU(A,B, x1,x2) !2次方程式 x^2+Ax+B=0を解く
OPTION ARITHMETIC COMPLEX !複素数
LET L1=-A !α+β
LET L2=SQR(A^2-4*B) !α-β
LET x1=(L1+L2)/2
LET x2=(L1-L2)/2
END SUB
EXTERNAL SUB Solve3EQU(A,B,C, x1,x2,x3) !3次方程式 x^3+Ax^2+Bx+C=0を解く
OPTION ARITHMETIC COMPLEX !複素数
LET w=EXP(COMPLEX(0,1)*2*PI/3) !w ※1の原始3乗根
CALL Solve2EQU(2*A^3-9*A*B+27*C,(A^2-3*B)^3, t1,t2) !t^2+Pt+Q=0の2つの解
LET L1=-A !α+β+γ
LET L2=pow(t1,1/3) !α+ωβ+ω^2γ
LET L3=pow(t2,1/3) !α+ω^2β+ωγ
LET x1=(L1+ L2+ L3)/3
LET x2=(L1+w^2*L2+ w*L3)/3
LET x3=(L1+ w*L2+w^2*L3)/3
END SUB
EXTERNAL SUB Solve4EQU(A,B,C,D, x1,x2,x3,x4) !4次方程式 x^4+Ax^3+Bx^2+Cx+D=0を解く
OPTION ARITHMETIC COMPLEX !複素数
CALL Solve3EQU(-(3*A^2-8*B),3*A^4-16*A^2*B+16*B^2+16*A*C-64*D,-(A^3-4*A*B+8*C)^2, t1,t2,t3) !t^3+Pt^2+Qt+R=0の3つの解
LET L1=-A !α+β+γ+δ
FOR S1=-1 TO 1 STEP 2 !±を確定させる
LET L2=S1*SQR(t1) !α+β-γ-δ
FOR S2=-1 TO 1 STEP 2
LET L3=S2*SQR(t2) !α-β+γ-δ
FOR S3=-1 TO 1 STEP 2
LET L4=S3*SQR(t3) !α-β-γ+δ
LET x1=(L1+L2+L3+L4)/4
LET x2=(L1+L2-L3-L4)/4
LET x3=(L1-L2+L3-L4)/4
LET x4=(L1-L2-L3+L4)/4
IF ABS((((x1+A)*x1+B)*x1+C)*x1+D)<1E-13 THEN EXIT SUB !※調整が必要である
NEXT S3
NEXT S2
NEXT S1
PRINT "論理エラーです。"
STOP
END SUB
!--------------------------------------
EXTERNAL SUB Solve3EQU2(A,B,C, x1,x2,x3) !3次方程式 x^3+Ax^2+Bx+C=0を解く
OPTION ARITHMETIC COMPLEX !複素数
LET w=EXP(COMPLEX(0,1)*2*PI/3) !w ※1の原始3乗根
DIM M(3,3),x(3),n(3) !連立方程式 Mx=n
LET M(1,1)=1 !α+β+γ
LET M(1,2)=1
LET M(1,3)=1
LET M(2,1)=1 !α+ωβ+ω^2γ
LET M(2,2)=w
LET M(2,3)=w^2
LET M(3,1)=1 !α+ω^2β+ωγ
LET M(3,2)=w^2
LET M(3,3)=w
CALL Solve2EQU(2*A^3-9*A*B+27*C,(A^2-3*B)^3, t1,t2) !t^2+Pt+Q=0の2つの解
LET n(1)=-A
LET n(2)=pow(t1,1/3) !3乗根
LET n(3)=pow(t2,1/3)
DIM iM(3,3) !連立方程式を解く
MAT iM=INV(M)
MAT x=iM*n
LET x1=x(1)
LET x2=x(2)
LET x3=x(3)
END SUB
EXTERNAL SUB Solve4EQU2(A,B,C,D, x1,x2,x3,x4) !4次方程式 x^4+Ax^3+Bx^2+Cx+D=0を解く
OPTION ARITHMETIC COMPLEX !複素数
DIM M(4,4),x(4),n(4) !連立方程式 Mx=n
DATA 1, 1, 1, 1 !α+β+γ+δ
DATA 1, 1,-1,-1 !α+β-γ-δ
DATA 1,-1, 1,-1 !α-β+γ-δ
DATA 1,-1,-1, 1 !α-β-γ+δ
MAT READ M
CALL Solve3EQU2(-(3*A^2-8*B),3*A^4-16*A^2*B+16*B^2+16*A*C-64*D,-(A^3-4*A*B+8*C)^2, t1,t2,t3) !t^3+Pt^2+Qt+R=0の3つの解
LET n(1)=-A
FOR S1=-1 TO 1 STEP 2 !±を確定させる
LET n(2)=S1*SQR(t1) !α+β-γ-δ
FOR S2=-1 TO 1 STEP 2
LET n(3)=S2*SQR(t2) !α-β+γ-δ
FOR S3=-1 TO 1 STEP 2
LET n(4)=S3*SQR(t3) !α-β-γ+δ
DIM iM(4,4) !連立方程式を解く
MAT iM=INV(M)
MAT x=iM*n
LET x1=x(1)
LET x2=x(2)
LET x3=x(3)
LET x4=x(4)
IF ABS((((x1+A)*x1+B)*x1+C)*x1+D)<1E-13 THEN EXIT SUB !※調整が必要である
NEXT S3
NEXT S2
NEXT S1
PRINT "論理エラーです。"
STOP
END SUB
|
|