6

フィボナッチ数列の一般項を差分を使って導く

316
1

はじめに

フィボナッチ数列の一般項については、数学ⅡBの知識でとけますが、今回は「差分」という考え方から導いてみます。

差分とは

差分は、「離散的な微分」と言えます。

微分された関数(導関数)の定義、差分された関数の定義

微分:
f(x)=limh0f(x+h)f(x)h

差分:
Δf(x)=f(x+1)f(x)1=f(x+1)f(x)

微分における微小量を1に固定したものとも言えます。ここでxZとします。

ここで、差分におけるex、つまり差分しても変わらない関数を探してみます。

Δf(x)=f(x),f(0)=1の時、f(x)=2x

Δf(x)=f(x)
f(x+1)f(x)=f(x)
f(x+1)=2f(x)
f(0)=1のとき、これは初項1、公比2の等比数列なので、
f(x)=2x

ここで重要な性質を紹介します。

Δf(x)=Af(x),f(0)=1の時、f(x)=(A+1)x

Δf(x)=Af(x)
f(x+1)f(x)=Af(x)
f(x+1)=(A+1)f(x)
f(0)=1のとき、これは初項1、公比A+1の等比数列なので、
f(x)=(A+1)x

つまり、累関数を差分しても「あまり性質は変わらない」ということです。後で使います。

n階差分

次に、関数をn階差分してみます。以下、n階差分された関数をΔnf(x)と表します。

Δnf(x)=i=0n(1)inCif(x+ni)

n=1の時、
Δ1f(x)=f(x+1)f(x)
より成り立つ。
n=kの時成り立つと仮定すると、n=k+1の時、
Δn+1f(x)=ΔΔnf(x)
=Δ[i=0n(1)inCif(x+ni)]
=Δ[nC0f(x+n)nC1f(x+n1)+nC2f(x+n2)...+(1)n1nCn1f(x+1)+(1)nnCnf(x)]
=nC0f(x+n+1)nC0f(x+n)nC1f(x+n)+nC1f(x+n1)+nC2f(x+n1)nC2f(x+n2)...+(1)n1nCn1f(x+2)(1)n1nCn1f(x+1)+(1)nnCnf(x+1)(1)nnCnf(x)
ここで、lZとすると、
nCl+nCl+1
=n(n1)(n2)...(nl+1)l!+n(n1)(n2)...(nl)(l+1)!
=(l+1)n(n1)(n2)...(nl+1)+(n+1)n(n1)...(nl)(l+1)!
=[n(n1)(n2)...(nl+1)](l+1+nl)(l+1)!
=(n+1)n(n1)(n2)...(nl+1)(l+1)!
=n+1Cl+1
だから、
Δn+1f(x)=nC0f(x+n+1)n+1C1f(x+n)+n+1C2f(x+n1)+...+(1)nn+1Cnf(x+1)(1)nnCnf(x)
=n+1C0f(x+n+1)n+1C1f(x+n)+n+1C2f(x+n1)+...+(1)nn+1Cnf(x+1)+(1)n+1n+1Cn+1f(x)
=i=0n+1(1)in+1Cif(x+(n+1)i)
成り立つ

この公式は、二項定理と非常によく似ていて、同じ構造を持っているとも言えます。

Δ2f(x)=f(x+2)2f(x+1)+f(x)
Δ3f(x)=f(x+3)3f(x+2)+3f(x+1)f(x)
Δ4f(x)=f(x+4)4f(x+3)+6f(x+2)4f(x+1)+f(x)

といった具合です。(x1)nの展開した形とほぼ同じですね。

差分方程式

先ほどの式を使って差分方程式について考えます。漸化式のことを差分方程式と呼ぶ方が一般的なようですが、ここでは、下のような差分した関数の和であらわされた方程式のことを「差分方程式」と呼び、「漸化式」とは区別します。

Δ3f(x)+Δf(x)+f(x)=0
を展開すると、
f(x+3)3f(x+2)+f(x+1)f(x)=0
という漸化式になります。

逆に漸化式から差分方程式に直してみます。
f(x+2)3f(x+1)f(x)=0
という例で考えます。「足して余分なものを引く」精神で行きます。
f(x+2)3f(x+1)f(x)=0
[f(x+2)2f(x+1)+f(x)][f(x+1)f(x)]3f(x)=0
Δ2f(x)+Δf(x)3f(x)=0
この直した形を応用していきます。

漸化式をとく

これらの技術を応用して漸化式を解いていきます。フィボナッチ数列を例にしましょう。
f(x+2)f(x+1)f(x)=0
これを差分方程式に直すと、
[f(x+2)2f(x+1)+f(x)]+[f(x+1)f(x)]f(x)=0
Δ2f(x)+Δf(x)f(x)=0
この時のf(x)を求めましょう。
この方程式は、「f(x)を2階差分したものと、1階差分したものの和からf(x)を引いたもの」といえます。つまり、f(x)は差分しても性質があまり変わらないものだと考えられます。実際、これとよく似た常微分方程式の解はAeaxの形の式の和になるそうです。(エアプ)これは微分してもあまり性質が変わりませんね。

ここで、差分しても性質が変わらないものとして冪関数が考えられます。

f(x)=axについて、
Δf(x)=ax+1ax=(a1)ax
Δ2f(x)=(a1)(ax+1ax)=(a1)2ax
帰納的に
Δnf(x)=(a1)nax
と分かります。
差分しても性質があまり変わっていませんね。これを代入してみましょう。

Δ2f(x)+Δf(x)f(x)=0
(a1)2ax+(a1)axax=0
(a2a1)ax=0
ax0より、a2a1=0のときこの方程式は成り立つので、a=1±52、つまり、
f(x)=(1±52)x

実際に代入すると、成り立っていることが分かります。しかし、これでは不十分です。いま求めたいのは、フィボナッチ数列の一般項ですから、f(0)=0,f(1)=1という2つの初期値を考慮しなければなりません。パラメータを追加しましょう。f(x)=Aaxという形でも1つしか代入できないので、f(x)=Aax+Bbx(ab)で考えてみます。

a>bとすると、
f(x)=A(1+52)x+B(152)xとなります。これにf(0)=0,f(1)=1を代入すると、A=15,B=15とわかります。よって、

f(x)=15[(1+52)x(152)x]

実際に代入すると、成り立っていることが分かります。

一般化について(放棄)

ここでa,bについて考えてみましょう。ab
は、x2x1=0を満たしました。これは、求める漸化式であるf(x+2)f(x+1)f(x)=0に似ています。これには理由があります。
Δnf(x)の展開は(x1)nの展開と同じ構造ということを言いました。そしてΔnf(x)の係数は(a1)nです。つまり、二項定理と同じ構造のものでまとめて、それを二項定理で展開しているので、同じになるわけです。

先の例を一般化して多項間漸化式の一般項を求めることもできますが、力尽きたので止めます。解の一意性?知らんな
↓一応紹介

多項間漸化式の一般項

an+k=pk1an+k1+pk2an+k2+...+p1an+1+p0an

という漸化式について、k次方程式

ϕ(λ)=λkpk1λk1pk2λk2..+p1λ+p0=0

を特性方程式という。特性方程式の解λ1,...λkがすべて異なるとき、数列anの一般項は

an=C1λ1n+C2λ2n+...+Ckλkn

と表せる(C1,...Ckは初期条件によって決まる定数)。

こんな証明方法 があります。

おわりに

はじめてmathlogやってみたけどなれなくてクソ時間かかりました。
差分学という分野はすでに確立されていますが、この記事の中の差分理論は我流なので、表記法はオリジナルなものになってます。ごめんなさい。適当に書いて推敲もろくにしてないので間違ってたら教えてほしいです。多分めっちゃ間違えてます。
学校の数学の先生に見せたら面白がってくれたのでうれしかったです。

投稿日:2023830
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

数学は好きです。yorosikuoegaisimasu。

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. はじめに
  2. 差分とは
  3. n階差分
  4. 差分方程式
  5. 漸化式をとく
  6. 一般化について(放棄)
  7. おわりに