3項間漸化式を線形代数で解く
高校数学の問題である3項間漸化式の数列の問題を、線形代数の観点から考えます。
目標
次の2つの問題を考えます。高校数学の典型的な問題です。
- a1=1,a2=1,an+2=5an+1−6anを満たす数列{an}の一般項を求めよ。
- b1=1,b2=3,bn+2=4bn+1−4bnを満たす数列{bn}の一般項を求めよ。
教科書通りに解くならば、特性方程式の解から漸化式を変形し、等比数列に帰着させることで一般項を求めるのでしょうが、計算がそこそこ煩雑です。答えだけ求めればよいのなら、次のように解くことができます。
-
特性方程式は、
λ2−5λ+6=0
である。これを解いてλ=2,3なので、一般項は定数C1,C2を用いて、
an=C12n+C23n
と書ける。n=1,2とすると、定数が満たすべき条件は、
{2C1+3C2=14C1+9C2=1
なので、これを解いて、C1=1,C2=1/3と定まる。以上から、数列{an}の一般項は、
an=2n+3n−1
-
特性方程式は、
λ2−4λ+4=0
である。これを解いてλ=2なので、一般項はC1,C2を用いて、
bn=C12n+C2n2n
と表せる。n=1,2とすると、定数が満たすべき条件は、
{2C1+2C2=14C1+8C2=3
なので、これを解いて、C1=1/4,C2=1/4と定まる。以上から、数列{bn}の一般項は、
bn=2n−2(1+n)
解説
以上のような解法が正当化される理由を、行列・ベクトルの観点から考えましょう。
一般の場合を考えるため、数列{an}について、はじめの2項a1,a2、および漸化式
an+2=pan+1+qan(p=0,q=0)
が与えられているとします。この漸化式は、行列とベクトルを用いて、
[an+2an+1]=[p1q0][an+1an]
と書けるので、
A=[p1q0],αn=[an+1an]
と定義すれば、αn+1=Aαnとなります。
したがって、行列Aを用いれば、αnは、
αn=An−1α1
と表せます。したがって、An−1の行列要素を求めれば、anが求まったことになります。
そこで、行列のべき乗を求めるため、Aを対角行列、あるいはジョルダン標準形へ相似変形することを考えます。このためにAの固有値を求める必要がありますが、Aの固有方程式は、
(det(A−λI)=p−λ1q−λ=)λ2−pλ−q=0
であり、いわゆる「漸化式の特性方程式」と一致することがわかります。
以下では、この方程式の解の個数について場合分けをして考えます。
1. Aが対角化可能な(⟺特性方程式が重解をもたない)場合
漸化式の特性方程式が重解をもたない場合、Aは相異なる固有値を2つもち、
対角化可能です。すなわち、特性方程式λ2−pλ−q=0の2解をλ1,λ2とすると、ある正則行列Pが存在して、
P−1AP=[λ100λ2]
が成立します。両辺をそれぞれn−1乗すれば、
(左辺)n−1(右辺)n−1=(P−1AP)(P−1AP)⋯(P−1AP)=P−1An−1P=[λ100λ2]n−1=[λ1n−100λ2n−1]
なので、左からP、右からP−1をかければ、
An−1=P[λ1n−100λ2n−1]P−1
を得ます。したがってαnは、
αn=[an+1an]=P[λ1n−100λ2n−1]P−1[a2a2]
と表せるので、anは適当な定数C~1,C~2を用いて、
an=C~1λ1n−1+C~2λ2n−1
と書けます。新たに定数をC1=C1~/λ1,C2=C2~/λ2と取り直せば、先の問題1.の解法で用いた一般項の表式
an=C1λ1n+C2λ2n
を得ます。あとはa1,a2の条件からC1,C2を定めれば一般項が求まります。
2. Aが対角化不可能な(⟺特性方程式が重解をもつ)場合
漸化式の特性方程式が重解をもつ場合、Aの固有値は1つに縮退していて、
q=0より対角化不可能です。このとき、特性方程式λ2−pλ−q=0の解をλ0とすると、ある正則行列Pが存在して、Aをジョルダン標準形
P−1AP=[λ001λ0]
に相似変換できます。
D=[λ000λ0],N=[0010]
と定義すると、P−1AP=D+Nと表せます。N2=O、すなわちNを2乗以上すると零行列になることと、DN=NDに注意すると、両辺をそれぞれn−1乗して、
(左辺)n−1(右辺)n−1=(P−1AP)(P−1AP)⋯(P−1AP)=P−1An−1P=(D+N)n−1=Dn−1+(n−1)DN=[λ0n−10(n−1)λ0λ0n−1]
なので、左からP、右からP−1をかければ、
An−1=P[λ0n−10(n−1)λ0λ0n−1]P−1
を得ます。したがってαnは
αn=[an+1an]=P[λ0n−10(n−1)λ0λ0n−1]P−1[a2a2]
と表せるので、anは適当な定数C~1,C~2を用いて、
an=C~1λ0n−1+C~2(n−1)λ0n−1
と書けます。新たに定数をC1=(C1~−C~2)/λ0,C2=C2~/λ0と取り直せば、先の問題2.の解法で用いた一般項の表式
an=C1λ0n+C2nλ0n
を得ます。あとはa1,a2の条件からC1,C2を定めれば一般項が求まります。