はじめMath! Javaでコンピュータ数学

第37回 行列の数学

この記事を読むのに必要な時間:およそ 1.5 分

ヤスリがけに代表される研磨作業は熟練を要する作業で,下手に行うと平面が崩れてしまいます。曲面となると非常に高度な技となります。いまだに機械によって置き換えることの出来ない作業の一つがこの研磨作業です。金属の研磨では,職人の手先の感覚によって,機械に検出できないナノレベルの凹凸をコントロールします。おおざっぱな形を作るところまでは機械に出来るようになりましたが,仕上げは人の手に寄らなければなりません。日本の技術立国たるゆえんは,この手作業を行う職人達が担っていると言っても言い過ぎではありません。

人間にしか出来ない,スーパーテクニックに集中するためには,機械に出来ることは機械にさせましょう。コンピュータには単純作業をさせておいて,私たちはコンピュータには出来ない仕事に集中しようではありませんか。

集合の数学は,私たちが手を使って行うには,あまりにも単純で延々と続く作業を必要とします。しかし,それはコンピュータの最も得意とする作業なのです。

図37.1 下ごしらえは下働きの仕事

図37.1 下ごしらえは下働きの仕事

どうして行列の数学を学ぶか

行列の数学は,高等学校では代数・幾何という分野に分類されます。数学の中でも,人気の無い分野だそうです。確かに私も,数字がだらだら並んでいて,それをあっちに足し,こっちに掛けと,延々と続く単純計算にうんざりしてしまった記憶があります。

突然ですが,「コンピュータが方程式を解いてくれる」ということを聞いて信じられますか?方程式を解くと言えば,右や左に移項し,式を変形し,ずいぶん頭をひねって解を求める過程を思い浮かべることでしょう。コンピュータは単純な計算なら命令したとおり実行できるのはわかるけど,方程式を解くなんて,そんな臨機応変な作業は無理なのではないかと思えませんか?

しかし,行列の操作を思い出してください。約束事に従って延々と続く単純な計算作業でしたね。そして,高校数学では,行列を用いて連立方程式の解を求める学習をしたはずです。覚えていらっしゃいますか?「方程式を解く」というとても複雑な知的作業が,行列の数学を用いれば,単純な手続きの繰り返しで出来てしまうのです。単純な手続きの繰り返し,それは,コンピュータの最も得意とする作業ではありませんか。

行列の数学はコンピュータにぴったりの仕事

コンピュータが利用されている方法として最もポピュラーな部類に入るのが,この行列の数学を用いた「方程式の解を求める計算」なのです。どうして学校で,あんなに時間をかけて,こんな賽の河原のような作業をさせられたのか。それは,行列の計算が現代社会を考える上で欠かせないものになっているからなのです。学校で学んだ行列の数学は,コンピュータを専門に学ぶ,まさにあなたのためであったとも言えるのです。具体的には図37.2のように,気象の予想,建物や車両の構造設計,果ては株価の予測まで,コンピュータを使って行列の計算を延々と重ねることで結果を出しているのです。これらに用いられる膨大な量のデータを方程式で解く作業は,人手ではとても間に合いません。スピードと高レスポンス性が求められる現代,コンピュータはこのためにこそ存在すると言っても良いほどです。

図37.2 行列計算の活用例

図37.2 行列計算の活用例(上:天気図/下:自動車の強度シミュレーション)

学習の目標

今回から始まる集合の数学の学習では,最もシンプルな2 行1 列の行列の取り扱いから初めて,最終的に任意元の連立一次方程式を解くプログラムを作成するところまで進める予定です。

さあ,それでは次回から行列の数学とプログラミングへの適用の学習を始めましょう。

今回のまとめ

  • 行列の数学とは何かを紹介しました。
  • 行列の数学を用いて連立方程式を解くプログラムを作成することが最終目標です。

コラム 行列の数学の歴史

行列の数学は,歴史的には「どうやって効率よく連立方程式を解くか」という要求の中で生まれたそうです。b = ax といった一次方程式を解くことから始まる代数学。それはやがて連立する方程式を解く方法へ発展しました。17世紀に入り,方程式の解を座標の値と結びつけた解析幾何学というものになりました。直線や平面を一次方程式で表し,それらが交差したり,交差しなかったりすることが,方程式の解と考えることを発見したのです。中学校でグラフ用紙に線を引いて,方程式の交点を見つけ,それが解になることを学習しましたが,それはこの頃発見された方法だったのですね。

更に複雑な多元方程式を解くために,18世紀に入ってから行列式が編み出され,19世紀にはベクトルや行列の考え方が完成したそうです※1)。

今では中学生の段階で学ぶ初歩的な数学が,200 年前には最先端の数学だったのですね。中学生の頃は,ただ単に難しげな約束事を覚えさせられ,単純作業の繰り返しで拷問のようにも感じていました。数学の時間に,数学者の人となりを語り聞かせる,あるいは講読する時間があったら良いなと思わされます。

このような行列の数学の編み出された歴史を見ると,行列の数学の役割の大きさに気がつくでしょう。線形代数に関する教科書や参考書の数の多いことも,実際に広く活用されているからこそなのです。

※1)
現代数学小事典 講談社 ブルーバックス 寺阪英孝編著 P.132 より。

著者プロフィール

平田敦(ひらたあつし)

地方都市の公立工業高等学校教諭。趣味はプログラミングと日本の端っこ踏破旅行。2010年のLotYはRuby。結城浩氏のような仕事をしたいと妄想する30代後半♂。

コメント

コメントの記入