さて、数式の羅列に頭が痛くなったところで、ベクトルと行列の演算を利用してケーキを作る時の費用について具体的に計算してみましょう。 まず最初に小麦粉200グラムだけを使って、味気ないケーキを作るとします。 小麦の単価が1グラム0.1円だとすると、ケーキの費用は次のように計算できます。
材料(g) | :x=200 |
単価(円/g) | :y=0.1 |
費用(円) | :z=xy=200×0.1=20 |
次に小麦粉200グラム、砂糖200グラム、卵3個を使って、多少それらしいケーキを作るとします。 砂糖の単価は1グラム0.2円、卵の単価は1個30円とすると、ケーキの費用は次のように計算できます。
小麦粉 | 砂糖 | 卵 | |||
: | : | : | |||
材料ベクトル:x'= | [ | 200 | 200 | 3 | ] |
この多少それらしいケーキと小麦粉だけの味気ないケーキを一緒に表すと、次のようになります。
さらに別の店屋では小麦粉を1グラム0.2円、砂糖を1グラム0.1円、卵を1個20円で売っていたとすると、次のように表すことができます。
このように、ベクトルと行列を用いると全ての場合で次のように書き表すことができます。
実際の計算量が減るわけではありませんが、こうすることによって多くの場合を1つの式に統一することができ、思考の節約になります。 これはケーキの費用計算に役立つばかりでなく、同じような性格の理論や法則を1つに統一して理解する時にも非常に役立つことです。
科学で用いられる記号や数式の形式が、科学理論の理解や発展の大きなキーポイントになることはよく知られた事実です。 例えばアラビア数字(算用数字)が数学を始めとして各種の分野で果している大きな役割や、原子記号が化学や物理学で果している重要な役割を考えてみれば、誰でも成程と納得していただけるでしょう。
アラビア数字を用いた位取りによるインド記数法は、あまりに当たり前になってしまっていて、ともすればその恩恵を忘れがちです。 しかし古代ギリシャやローマで幾何学に比べて代数学がほとんど発達しなかった原因の1つに、彼等がこのインド記数法を知らなかったことが挙げられているほどなのです。
ベクトルと行列の演算規則は、このようにケーキの費用を計算する時に便利なように定義された……というわけではなく、ケーキの費用計算のように、ある値(ケーキの場合は費用)とある値(材料または単価)の間に直線的な関係(線形関係)がある時の計算に便利なように定義されています。 そのためベクトルと行列を一緒にして線形代数(linear algebra)ということがあります。
実世界では、例えば小麦粉を沢山買うと値引きがあるとか、小麦粉と砂糖を一緒に買うとおまけに卵がついてくるといった主婦向けのサービスがあり、線形関係が成り立たない「非線形」なことがままあります。 しかしたいていの場合は近似的に線形関係が成り立つので、ベクトルと行列は色々な場面に応用することができます。
前章のような演算定義から、次のようなことが成り立ちます。
・x+0n=x | ・X+0n,p=X | |
・1x=x | ・1X=X | |
・x+y=y+x | ・X+Y=Y+X | (交換律) |
・x+(y+z)=(x+y)+z | ・X+(Y+Z)=(X+Y)+Z | (結合律) |
・(ab)x=a(bx) | ・(ab)X=a(bX) | (結合律) |
・a(x+y)=ax+ay | ・a(X+Y)=aX+aY | (分配律) |
・(a+b)x=ax+bx | ・(a+b)X=aX+bX | (分配律) |
・x'0n=(x, 0n)=0 | ・X0p,q=0n,q | |
・InX=XIp=X | ||
・(XA)C=X(AC) | (結合律) | |
・x'(y+z)=x'y+x'z | ・X(A+B)=XA+XB | (分配律) |
・(x+y)'z=x'z+y'z | ・(X+Y)A=XA+YA | (分配律) |
・x'y=(x, y)=(y, x)=y'x | ・(XA)'=A'X' | (交換律は成り立たない!) |
・X'X=[X'X]' | ([X'X]はp次対称行列になる) | |
・x'Ax=tr(Axx') | (A:n次対称行列) | |
・tr(A')=tr(A) | (A:n次正方行列) | |
・tr(aA)=a tr(A) | ・tr(A+B)=tr(A)+tr(B) | (A、B:n次正方行列 トレースの線形性) |
・tr(AB)=tr(BA) | (A、B:n次正方行列 トレースの交換律) | |
・tr(ABC)=tr(BCA)=tr(CAB) | ・A→B、B→C、C→A | (A、B、C:n次正方行列 トレースの循環性) |
ついでにベクトルと行列の微分規則を簡単に説明しておきましょう。 一般に多変数関数をベクトルの関数と考えると、次のように表すことができます。
この関数の偏微係数を並べたベクトルを偏微係数ベクトルまたは勾配ベクトルまたは傾斜ベクトルといい、次のように表します。
これは微係数の多変数への拡張に相当します。 スカラー関数をベクトルで偏微分するとベクトルになる点に注意しましょう。 同様にスカラー関数を行列で偏微分すると、結果は偏微係数を並べた行列になります。
またスカラー関数をベクトルで2階微分すると、次のように2次の偏微係数を並べた対称行列になります。
この行列は2次微係数行列またはヘス(Hess)の行列または計量行列と呼ばれます。 計量行列と呼ばれるわけは、この行列が曲面の曲率に関係したものになり、曲面上の距離を計量する時に重要な役目を果たすからです。
p次元係数ベクトルaとp次元変数ベクトルxの内積は、次のようにxの関数と考えられます。
この関数をxの成分xjで偏微分すると次のようになります。
したがって勾配ベクトルは次のようになります。
同様の計算から次のような式が成り立ちます。 なお逆行列X-1は第7節で、行列式|X|は第8節で説明します。