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

第37回行列の数学

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

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

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

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

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

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

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

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

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

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

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

学習の目標

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

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

おすすめ記事

記事・ニュース一覧