漸化式の特性方程式
高校数学で習う数列の漸化式の問題について、特性方程式の話がよく出る。「よくわからないが、そういうものとして解法を真似ればよい」というスタンスでも記述式の試験には対応できるから、特段記述試験では困らない。とはいえ、「よくわからないが」という部分が気になるかもしれない。そこでこれを説明したい。
高校数学の問題で出て来るものとしては2項間ないし3項間漸化式が多い。これらを例にしたいが、本記事としてはまずは2項間漸化式の話からしよう。
次のような問題を考える。
数列a[n](n=1,2,3,・・・)について、a,p,qは定数で
a[n+1] = pa[n] + q ・・・①
a[1]=a
という関係式を満たすとき、数列a[n]の一般項を求めよ。
p = 1なら①は等差数列であり、等差数列から一般項を求めることは容易であるから既知とする。従ってp≠1としよう。
さらにq=0なら①は定数項がない形であるから等比数列となるから、その場合も容易である。(しかし以下で議論する内容は、q≠0を仮定しなくても一般に通用するため、qについては仮定しないでおこう。)
次の2通りはよく知られた解法である。
解法1
①でnのところをn+1で考えた①’と①を並べて書くと
a[n+2] = pa[n+1] + q ・・・①’
a[n+1] = pa[n] + q ・・・①
となる。①’ー①より
a[n+2] - a[n+1] = p(a[n+1] - a[n]) ・・・②
を得る。
②を見れば、
b[n] = a[n+1] - a[n] ・・・③
とおけば
b[n+1] = pb[n] ・・・②’
となって、初めに与えられた漸化式①と比べれば、定数項が消えた形になっている。
そしてb[n]の一般項がわかれば、b[n]の定義式である③は、ちょうどa[n]についての階差数列であるから、a[n]の一般項もわかる。
だからb[n]を求めよう。
b[n]は②’を満たすから、公比pの等比数列である。初項はb[n]の定義③より
b[1] = a[2] - a[1]
= (pa + q) - a
= (p - 1)a + q
となる。よって、数列b[n]の一般項は
b[n] = b[1]・p^(n-1)
= {(p - 1)a + q}・p^(n-1)
となる。
よって、a[n]の一般項は③より
a[n] = a[1] + ∑b[k]
(∑はk=1からk=n-1までを動く)
= a + {(p - 1)a + q}・{1 - p^(n-1)} / (1 - p)
= a + {(p - 1)a + q}/(1 - p) + {a + q/(p -1)}p^(n-1)
= {a + q/(p -1)}p^(n-1) - q/(p-1) ・・・④
逆に、④はもとの漸化式①を満たす。
(n=1のケースと、①に④を代入して計算して確かめよう。)
以上より④が答えになる。
解法2
次の文字Xについての方程式を考える:
X = pX + q ・・・(1)
この方程式の解は、
X = q/(1 - p)
である。
ところで、①と(1)を並べて書くと
a[n+1] = pa[n] + q ・・・①
X = pX + q ・・・(1)
となる。①ー(1)より
a[n+1] - X = p(a[n] - X) ・・・(2)
を得る。
(2)を見れば、
c[n] = a[n] - X ・・・(3)
とおけば
c[n+1] = pc[n] ・・・(2)’
となって、初めに与えられた漸化式①と比べれば、定数項が消えた形になっている。
そしてc[n]の一般項がわかれば、c[n]の定義式である(3)より、a[n]の一般項もすぐわかる。
だからc[n]を求めよう。
c[n]は(2)’を満たすから、公比pの等比数列である。初項はc[n]の定義(3)より
c[1] = a[1] - X
= a - q/(1 - p)
となる。よって、数列c[n]の一般項は
c[n] = c[1]・p^(n-1)
= {a - q/(1 - p)}・p^(n-1)
となる。
よって、a[n]の一般項は(3)より
a[n] = c[n] + X
= {a - q/(1 - p)}・p^(n-1) + q/(1 - p) ・・・(4)
逆に、(4)はもとの漸化式①を満たす。
(n=1のケースと、①に(4)を代入して計算して確かめよう。)
以上より(4)が答えになる。
特性方程式の意味は?
どちらの解法も一般項a[n]を求めることができた。そして確かに解法2で得た(4)式は、符号に注意すれば解法1で得た④式と一致していることもわかる。
解法1と解法2の違いは何だろうか。
解法1は漸化式①から後項と前項の差を取った関係式①’から出発して議論している。これは特に違和感なく納得いくだろう。
一方、解法2は唐突にXについての方程式を作った。この方程式のことを特性方程式と呼ぶことがある。そして最終的には解法1の結果と同じ一般項を得た。
解法として誤っていることを指摘しているわけではない。しかし、そもそもこの方法を思いつくには、その前にどんな考察があってのことだろう、と気にならないだろうか。
1つの考察として、数列a[n]がn→∞で値Xに収束したと仮定し、①の両辺でn→∞を取ると、このXについての関係式が得られるというのがある。
そしてこのXについての関係式(Xを未知数と思えば方程式)を手掛かりに、一般項として(4)の式が必要条件として導かれている。
そのあと、(4)式が元の漸化式を満たすという十分性が確認され、一般項が確定される。
そうであれば、依然として
「数列a[n]がn→∞で値Xに収束したと仮定し」
という点が論理的に残っているではいか。これを仮定しない場合には何らかの矛盾が出ることを示すか、あるいはこの仮定が正しいことを証明しないと、議論は完成しないではないか。
ところが証明としては、この仮定をしないで、天下り的に方程式(1)を作って議論しているから、問題はない。つまりこの仮定を「あえて言及しない」ことによってうまくできている。
なお、記述式の解答欄に書くのであれば、この特性方程式(1)を記述上は書かずに、Xをあらかじめ方程式を解くことで求めておいて、あたかもうまい変形が思いついたという体(てい)で、①式から(2)式に同値変形して書けば十分である:
a[n+1] = pa[n] + q
⇔ a[n+1] - X = p(a[n] - X)
自論
このように、数学では記述上は正しく議論されていたとしても、その考察的背景までは見えないことがある。
それは教科書や参考書を丸暗記するだけでは到達できない部分である。
「考察」→「記述(証明)」と、段階で分けて考えれば、「考察」という段階が本来の「数学する」ということと考えている。完璧な解法や証明ができなくても「数学する」という姿勢が本来求められる力ではないか。
だから私は数学は解き方にこだわらないし、解法を覚えることが数学を学習する目的ではないと思っている。むしろ「数学する」に重きを置きたい。
考察を経てまとめる段階が記述であり、証明になって現れる。もちろん最後は論理的に「まとめる力」は必要になってくるが、それ以前の「考察する力」もまた要請される能力である。これは答えの見えない実社会上の種々の問題を解決に向かってどうアプローチするかという姿勢に直結する。
世の中全体が、もっとその行為自体に価値があることを認れば、完璧な解法や証明ができずとも、「ここまで考えたよ」と言って考えた証跡を嬉しそうに見せる学生が増えると思う。
初見の問題ほど、とにかく「数学する」を実行してみよう。初心は一歩一歩、周りを歩いてみることにある。道ができるのはその後であろう。