
220 8 章 線形代数
n 個の
連立一次方程式は、n ×m 行列で表現できる。このとき、各行は 1 つの方程式、m 個の列は特
定の変数の係数(c
0
の場合は、定数係数)に対応する。
• グラフとネットワーク:グラフは頂点と辺から構成され、辺は (i, j) のような頂点の順序対として定
義される。n 個の頂点と m 本の辺を持つグラフは、n × n の行列 M として表すことができる。ここ
で、M[i, j] は、頂点 i から頂点 j への辺の数(または重み)を表す。組合せ的性質と線形代数の間に
は、グラフの経路と行列の乗算の関係、頂点のクラスタと行列の固有値や固有ベクトルの関係など、
意外な関連がある。
• 再配置操作:点の集合に対して、平行移動や回転、拡大縮小などの幾何学的な操作は、行列演算に
よって実現できる。データ行列に適切な置換行列を掛け合わせれば、行の順序を変えたり、列の順序
を変えたりできる。n × 1 行列、つまりベクトルは、平行移動や置換を表現するためにも使うことが
できる。
行列はこのようにあちらこちらで登場するので、行列演算には、数多くの充実したツールが用意されてい
る。特に、使い慣れているプログラミング言語に高性能の線形代数ライブラリが用意されているなら、基
本的なアルゴリズムを自分で実装するようなことをしてはいけない。最良のライブラリは、数値の精度、
キャッシュミス、マルチコアの活用、アセンブリ言語の利用といった面倒な処理を最適化している。我々の
仕事は線形代数を使って問題を定式化することであり、アルゴリズムはライブラリに任せるべきである。 ...