問2: 偶数のフィボナッチ数
一般化してみると
という風に表すことができます。
F0 = 0, F1 = 1
✓
Fn
Fn+1
◆
=
✓
0 1
1 1
◆n
✓
F0
F1
◆
A =
✓
0 1
1 1
◆
と置くと を求めることができれば
Fn
を計算できそう。
An
Slide 74
Slide 74 text
問2: 偶数のフィボナッチ数
単純に を求めると n が大きくなった時にかなり大変
なので、ちょっと工夫します。
An
Slide 75
Slide 75 text
問2: 偶数のフィボナッチ数
対角行列のべき乗は簡単に求めることができますね。
⇤ =
0
B
B
B
@
1 0 . . . 0
0 2 . . . 0
.
.
.
.
.
.
...
.
.
.
0 0 . . . m
1
C
C
C
A
こういう対角行列Λが
あるとすると...
Slide 76
Slide 76 text
問2: 偶数のフィボナッチ数
対角行列のべき乗は簡単に求めることができますね。
⇤ =
0
B
B
B
@
1 0 . . . 0
0 2 . . . 0
.
.
.
.
.
.
...
.
.
.
0 0 . . . m
1
C
C
C
A
⇤n =
0
B
B
B
@
n
1
0 . . . 0
0 n
2
. . . 0
.
.
.
.
.
.
...
.
.
.
0 0 . . . n
m
1
C
C
C
A
こういう対角行列Λが
あるとすると...
Λのn乗はこうなる
Slide 77
Slide 77 text
問2: 偶数のフィボナッチ数
ここで を行列の掛け算で表してみます。
A = P⇤P 1
A =
✓
0 1
1 1
◆
⇤
( は対角行列)
Slide 78
Slide 78 text
問2: 偶数のフィボナッチ数
この行列 A の n 乗を計算してみると
An = (P⇤P 1)n = P⇤P 1P⇤P 1 · · · P⇤P 1 = P⇤nP 1
ここで を行列の掛け算で表してみます。
A = P⇤P 1
A =
✓
0 1
1 1
◆
⇤
( は対角行列)
Slide 79
Slide 79 text
問2: 偶数のフィボナッチ数
この行列 A の n 乗を計算してみると
An = (P⇤P 1)n = P⇤P 1P⇤P 1 · · · P⇤P 1 = P⇤nP 1
ここで を行列の掛け算で表してみます。
A = P⇤P 1
A =
✓
0 1
1 1
◆
⇤
( は対角行列)
Slide 80
Slide 80 text
問2: 偶数のフィボナッチ数
この行列 A の n 乗を計算してみると
An = (P⇤P 1)n = P⇤P 1P⇤P 1 · · · P⇤P 1 = P⇤nP 1
ここで を行列の掛け算で表してみます。
A = P⇤P 1
A =
✓
0 1
1 1
◆
⇤
( は対角行列)
Slide 81
Slide 81 text
問2: 偶数のフィボナッチ数
この行列 A の n 乗を計算してみると
An = (P⇤P 1)n = P⇤P 1P⇤P 1 · · · P⇤P 1 = P⇤nP 1
ここで を行列の掛け算で表してみます。
A = P⇤P 1
A =
✓
0 1
1 1
◆
⇤
( は対角行列)
となるのでべき乗の計算が簡単になります。問題はどう
やってこの都合の良い行列を見つけるか?
Slide 82
Slide 82 text
問2: 偶数のフィボナッチ数
P =
✓
p11 p21
p12 p22
◆
= (p1, p2)
とりあえず行列 を列ベクトルの集まりとしてみます。
P
Slide 83
Slide 83 text
問2: 偶数のフィボナッチ数
A = P⇤P 1 の両辺の右側に をかけてみると
P
AP = P⇤
P =
✓
p11 p21
p12 p22
◆
= (p1, p2)
とりあえず行列 を列ベクトルの集まりとしてみます。
P
となる。
Slide 84
Slide 84 text
問2: 偶数のフィボナッチ数
A = P⇤P 1 の両辺の右側に をかけてみると
P
AP = P⇤
P =
✓
p11 p21
p12 p22
◆
= (p1, p2)
とりあえず行列 を列ベクトルの集まりとしてみます。
P
A(p1, p2) = (p1, p2)⇤
となる。 を代入すると
P
となります。