高校の数学と大学の数学
行木孝夫
北海道大学 大学院理学研究院 数学部門

2016.6.4
北海道算数数学教育会高等学校部会研究部
第 97 回数学教育実践研究会 配布資料

高校の教育課程と大学の教育課程

1

講演者は 1967 年生まれ、1983 年に高校入学、一浪の後に 1987 年に大学入学という世代です。
高校の教育課程は当時のいわゆる「新課程」として大きく内容を削られた課程の初年度でした。理科では総合科目の「理科 I」が始まり、物理での剛体の運動や化学での電子雲などが削られています。社会では「現代社会」が始まりました。数学の科目名は数学 I、代数・幾何、基礎解析、数学III となり、おそらく一つ前の課程の科目名「数学 IIB」から行列と一次変換、数列が導入されています。（数学 II という科目は進学校ではない場合に実施される科目だったようです。）
大学入学後は専門課程の物理学に関連して剛体の運動方程式で課程の違いを実感しました。
大学で教えるようになってからは微分方程式が高校の課程から外れた時に変化を実感しました。
コンピュータープログラムの実習形式の演習を担当すると解析的には求められない定積分の値や微分方程式の解を数値的に与えるプログラムを課題とします。このとき、数学的に理解していることは前提としますので、微分方程式を履修していないとプログラムまで進まないのです。
昨年度の大学１年生から高校では行列を履修しなくなっています。一方で理工系の学部教育において行列は非常に大きな役割を果たします。およそ 40 年にわたって教育課程の重要な内容であった行列を削った影響はこれから評価の対象になるべきでしょう。本講演の数学的背景として高校数学から大学数学に発展する際に行列の関わる内容を取り上げます。

2行列の役割

2.1

数列と漸化式

フィボナッチ数列 an+2 = an+1 + an を例にとります。フィボナッチ数列 an の一般項は A, B を初期値 a0 , a1 から決まる定数として次のように与えられます。ただし、α, β は二次方程式 r2 = r + 1の解とします。

an = Aαn + Bβ n1

等比数列 rn がフィボナッチ数列を満たすと仮定して漸化式に代入すると rn+2 = rn+1 − rn ですから、両辺を rn で割って r2 = r + 1 です。もちろん r = 0 の場合は除外しておきます。この二次√√方程式を解いて得られる α = 1+2 5 , β = 1−2 5 を r と見なして二つの等比数列がフィボナッチ数列を満たしますから、その定数倍と和を考えて（十分条件として）一般項を得ます。必要条件は少し難しいのでした。

bn という数列を新しく考えて bn := an+1 と定めます。この時フィボナッチ数列を連立の漸化式を満たす形に変形できます。
a= bnn+1
b=b +an+1nn

第二式を an で書き直せばフィボナッチ数列です。
()0 1
行列 A を A =とおけば次のように書き換えられます。
1 1() ()( )( )an+10 1anan==Abn+1
1 1bnbn( )anすると、ベクトルの列 cn を cn =とおくことでbncn = Acn−1 = A cn−2 = · · · = A c0 = A
2nn( )
a0b0=An( )a0a1とフィボナッチ数列の初期値 a0 , a1 から An を用いて一般項を表すことができます。等比数列の一般項 an = rn a0 と cn = An c0 とは同じ形をしていることに注意してください。行列とベクトルの形で漸化式を表すことで三項間漸化式がベクトルの二項間漸化式となり、等比数列と同じ形になるのです。
この行列 A の固有値は無理数になりますから、以降の変形は少し煩雑になります。計算が易しくなる例を挙げましょう。

an+2 = 3an+1 − 2an
フィボナッチ数列の場合と同様に行列とベクトルによって表すと次のようになります。

(従って、an+1bn+1(an))(=(0 1−2 30)(anbn)n ( )1a0=bn−2 3b0()0 1
一般項を求めるために行列の n 乗を求めます。
−2 32)

固有値と固有ベクトルが次のように定まることを使います。
()( )
( )
0 111=1·−2 311(0 1−2 3)( )( )11=2·22

これら二式をまとめて次のように書くことができます。
()() ()(0 11 11 11=−2 31 21 20
行列(111202))の逆行列を右からかけて次の等式を得ます。

(01−23)=(1112)(1002)(1112)−1()
1 1とその逆行列が打ち消しあうので次のようになります。
両辺の n 乗を考えると、右辺は1 2()n ()()n ()−1 ()()()−10 1
1 11 01 11 11n 01 1==−2 3
1 20 2
1 21 20 2n1 2
右辺を計算することは簡単ですから、an の一般項を求めることができます。
結局、もっと一般の定数係数多項間漸化式も同様に書くことができることになります。

2.2行列の指数関数と微分方程式

物理の力学は微分積分の具体的な応用例です。もともと、ニュートンは物体の運動方程式を調べるために微分概念を発見したのでした。大きさのない物体を質点とよびます。時刻 t に質量 m の質点が座標 x(t) にあるとき、質点に働く力を F (x(t)) とします。以下、単に x と書いたら x(t) のことです。

x(t) は次の方程式を満たします。これをニュートンの運動方程式とよびます。
md2 x= F (x)dt2

つまり、力学と微分方程式論は相互に影響しつつ発展しているのです。
最も簡単な微分方程式は次の形です。

dx= axdt
ただし、a は定数です。

3

これは次のように解くのでした。まず x ̸= 0 と仮定し、両辺を x で割ります。

1 dx=ax dt
両辺を t0 から t1 まで t で定積分します。

∫ t1t01 dx
dt =x dt

∫ x(t1 )x(t0 )

1dx = log |x(t1 )| − log |x(t0 )| = a(t1 − t0 )xx(t0 ) > 0 であるとき、連続性を仮定すれば t0 の近くの t1 についても x(t1 ) > 0 となるから、logの中の絶対値は外せます。

log x(t1 ) − log x(t0 ) = a(t1 − t0 )x(t1 ) について整理して、t1 をあらためて t とおき、次の形を得ます。これは、x(t0 ) < 0 でも成立します。従って、時刻 t0 での x(t0 ) を与えた場合の微分方程式の解は次のように定まります。
x(t) = x(t0 )ea(t−t0 )後のために指数関数 ex の定義を新しく与えます。大学初年度の微積分ではマクローリン展開という概念を学び、初等関数をべき級数展開の形で定義できることを扱います。これに従うと、指数関数を次のように定義できます。

ex :=∞∑xnn=0n!

さて、ニュートンの微分方程式で F (x) = −x の場合を考えましょう。これはバネの一方を固定し、他方に質点がつながっている系の運動を表し、単振動の方程式あるいは調和振動子とよびます。簡単のために m = 1 とします。

d2 x= −xdt2
新しい関数 y(t) を y(t) = dx/dt で定義します。これによって、運動方程式は次の形に変形できます。
x′ = yy ′ = −x
フィボナッチ数列の場合と同様に、行列とベクトルを使って二次元の微分方程式に書き直します。
( ) ()( )0 1xx′=′y−1 0y
この微分方程式が一次元の場合と同様に解けることを示していきます。指数関数をべき級数展開によって定義しましたので、x に行列を代入することができます。2 次の正方行列 A について次のように指数関数を定義します。

eA :=∞∑Ann=0

行列 A の n 乗が決まれば何も問題ありません。

4n!

(A=0 1−1 0)の時は A2 = −E に注意すると次のように整理できます。（E は単位行列）

etA =∞∑(−1)k t2k+1k=0(2k + 1)!

A+(−1)k t2kE(2k)!

実は、第一項の係数部分は sin t の、第二項の係数部分は cos t の定義に等しく、結果として次の形になります。

(tAe=cos t sin t− sin t cos t)(=cos(−t)
sin(−t))− sin(−t)
cos(−t)これは角度 −t の回転を表す行列そのものです。また、t で微分すると次の通り指数関数の導関数と同じ形になります。

d tA
e = AetAdt
これから、考えている微分方程式の解は一次元の場合と同じく次のように書けることがわかりました。

()() ()()x(t)x(t)
cos(−(t−t))−sin(−(t−t))
x(t)
0000
= e(t−t0 )A=y(t)y(t0 )sin(−(t − t0 )) cos(−(t − t0 ))y(t0 )

2 変数関数の極値判定

2.3

高校数学では関数として変数を 1 つに限定します。大学 1 年次の微分積分学における一つの目標
は、変数を増やした場合に 1 変数の場合と何が異なるかを理解することです。ここで行列が活躍します。

1 変数関数 f (x) の極値問題では、f ′ (c) = 0 を満たす c について f ′′ (c) の符号を調べるのでした。
2 変数関数 f (x, y) の場合は偏導関数について fx (a, b) = 0 と fy (a, b) = 0 から極値の候補 (a, b) を決め、2 階の偏微分係数から定まる行列(fxx (a, b)

fxy (a, b)

fxy (a, b)fyy (a, b))の行列式 D := fxx (a, b)fyy (a, b) − fxy (a, b)2 の符号によって判定します。

D > 0 の場合に (a, b) は極値となります。このとき、極大になるのは fxx (a, b) < 0 かつ fyy (a, b) <0 の場合、極小になるのはともに正の場合です。

3

行列の応用
行列の役割は数学の中だけにとどまらず、様々な分野に浸透しています。幾つかの例を参考書とともに以下に挙げます。

5• 量子力学： J. J. Sakurai『現代の量子力学』（吉岡書店）• ウェブ検索アルゴリズム： Amy N. Langville, Carl D. Meyer 『Google PageRank の数理』
（共立出版）• 機械学習と人工知能： 小高知宏『機械学習と深層学習』（オーム社）• ３次元グラフィックスとゲーム開発、四元数： F. Dunn, I. Parberry『実例で学ぶゲーム 3D数学』（オライリー）、金谷一朗『3D-CG プログラマーのためのクォータニオン入門』（工学社）
これらから、Google のウェブ検索アルゴリズムである PageRank について解説します。

3.1

Google PageRank と固有値解析、世界を変えた行列

1998 年以前の検索サイトの惨状をご存知の方も多いでしょう。キーワードから検索をかけても目的の情報は得られずに関係のないサイトばかりが表示される状態でした。多くの場合、大手ポータルサイトの提供するディレクトリサービスやリンク集からサイトを探したものです。これが Googleの登場で一変しました。その背後には行列の活躍があります。
まず、ホームページ A,B,C,D,E について、リンク関係がわかっているとします。

1. A から D,E へリンクしている。
2. B から A へリンクしている。
3. C から A,B,E へリンクしている。
4. D から C へリンクしている。
5. E から B,D へリンクしている。
このリンク関係は図 1 のように有限グラフを使って表せます。
各ホームページのランク（重要度）を評価するために、ホームページ A のランクを xA という変数で表すことにしましょう。A のランクはリンク先 D,E へ均等配分するものと考えます。以下、

B,C,D,E について繰り返します。すると、次のように不定形の連立方程式が立ちます。全て 0 となる自明な解以外に自明でない解は存在するでしょうか。
xA = xB + xC /3





x= xC /3 + xE B
xC = xD
xD = xA /2 + xE /2x= xA /2 + xC /3
E6

B

ACDE

図 1: リンク関係を有限グラフで表す。
行列で書き直すと(xA ,xB ,(xA ,xB ,)xC , xD , xE =01)

xC , xD , xE 1/3
 00001/2
0 01/300 1/200 1/2001/3 0011/2 0

確率行列（各行の成分の和が 1 になる行列）の固有値問題です。固有値 1 に対応して固有ベクトルの各成分が決まり、規格化すると次の通りです。

(xA , xB , xC , xD , xE ) = (0.52, 0.36, 0.46, 0.46, 0.41)
この成分が大きいほど、対応するホームページのランクは高いと解釈しましょう。

PageRank が存在することを保証するには、確率行列に関するペロン=フロベニウスの定理を必要とします。この定理は古くから知られていますけれども、応用上は主にマルコフ連鎖の解析に使われてきました。全く関係のないと思われた検索アルゴリズムへ応用することで、Google はウェブの世界に静かな革命をもたらしています。
数学の応用とはこのように当初は想像もできない形で使われてこそ真価を発揮します。数学は様々な応用を「待っている」だけなのです。

4

終わりに前節で見たように、問題の次元が上がることでて行列が活躍します。その背景には線形性という概念がありますけれども、抽象化した線形空間と線形写像という概念までを理解できる大学 1 年生は現在でも多くありません。すると、フーリエ変換などの専門課程で学ぶ概念にも影響します。

7

また、Google 以後、情報技術としての行列と固有値解析は当たり前の道具になりました。

AI においても、AlphaGo が世界的なトップ棋士であるリ・セドルに完勝した背景には DeepLearning と呼ぶ機械学習の進歩があります。機械学習では線形代数を縦横に駆使します。
このように、行列が高校での教育課程から外れたことは今後の大学理工系の教育に大きな問題を投げかけます。北大での初年次教育を担当する我々は、線形代数学の講義を 2 × 2 行列から始めるなどの対策をとっています。初年度の線形代数学では前半の内容に比較的余裕のあることから、導入の部分を丁寧に実施する形で対応することができました。各学部専門課程での影響については今後の評価を待たなければなりません。

A

行列の固有値と固有ベクトルn 次正方行列 A と n 次元ベクトル v について、Av = rvを満たす r を固有値、零ベクトルでない v を固有ベクトルとよびます。(A − rE)v = 0 と変形できますから、det(A − rE) = 0(でなければv は零ベクトルです。
)
a b
特に n = 2 のとき、A =について det(A − rE) = 0 を求めて整理すると
c dr2 − (a + d)r + (ad − bc) = 0となります。2 次方程式ですから固有値 r を求めることができます。

r に行列 A を代入するといわゆるケーリー・ハミルトンの公式です。この公式を理解している生徒は講演者の観測範囲では 1%程度のように見受けられます。

8