こんにちは、おぐえもん(@oguemon_com)です。
前回の記事では、行列とは何なのか、そして、行列の中でもちょっぴり特別な形をした行列をご紹介しました。
今回は、行列を使った演算の方法について説明します。行列は、今まで扱っていた数(スカラーといいます)と同じように計算できますが、そのルールや性質が少し異なります。今までとの違いに注意しながら学習しましょう!
足し算・引き算
行列\(A,B\)に対して\(A+B\)という風に表現します。足し算は、対応する成分を足し合わせるだけでOKです。
抽象的に表すと、こんな感じ。
\(A=[a_{ij}],B=[b_{ij}]\)のとき、
$$A+B=[a_{ij}+b_{ij}]$$
引き算の場合は、プラスをマイナスに置き換えてください。
対応する成分同士を計算するので、行列の縦横の数が合っていないもの同士は加算・減算できません。なんでも足し引きできた今までの数(スカラー)とは大きく異なる特徴です。
スカラー倍
「2」や「-5.4」みたいな今まで使ってきた数(スカラー)で掛け算することをスカラー倍と言います。スカラーはどんな形の行列でも掛け算できます。
行列を\(A\)、スカラーを\(\lambda\)とすると、スカラー倍は\({\lambda}A\)という風に表現します。計算方法は簡単で、全ての成分にスカラーを掛けます。
抽象的に表すと、こんな感じ。
\(A=[a_{ij}]\)のとき、
$${\lambda}A=[{\lambda}a_{ij}]$$
割り算をしたければ、割りたい数の逆数(\(a\)なら\(\frac{1}{a}\))を掛けろ!以上!
行列同士の掛け算
行列初心者にとっての最初の壁です。行列同士の掛け算はルールが複雑で、慣れるまでに時間がかかります。しかし、これを覚えないと話が進まないので頑張って覚えてください!
掛け算の手順
まず、掛け合わせてできた積は、行列\(A,B\)に対して\(AB\)という風に表現します。
ルールは簡単に言えば次の通り。
- 「行列\(A\)の列数=行列\(B\)の行数」じゃないと掛け算できない(積\(AB\)は定義できない)。
- 積\(AB\)は、行列\(A\)と同じ行数で、行列\(B\)と同じ列数の行列となる。
- 積\(AB\)の\(i\)行\(j\)列成分は、行列\(A\)の\(i\)行の成分と、行列\(B\)の\(j\)列の成分を順に掛けて足したもの。
抽象的に表すと、こんな感じになります。
\(m\)行\(r\)列行列の\(A=[a_{ij}]\)と、\(r\)行\(n\)列行列の\(B=[b_{ij}]\)について、
\(m\)行\(n\)列行列の積\(AB\)を定義することができて、下式の通りとなる。
$$AB=[\sum_{k=1}^ra_{ik}b_{kj}]$$
これだけだと意味不明だと思うんで、とにかく例を示しましょう。次の\(A\)と\(B\)について、\(AB\)を計算します。
まず、以下のことがわかります。
- Aの列数は3で、Bの行数も3
- Aの列数とBの行数が一致するので、積\(AB\)を求めることができます。
- Aの行数は2で、Bの列数は3
- よって、積\(AB\)は、2行3列の行列となります。
ここで、\(AB\)の2行3列成分を求めてみます。
\(A\)の2行成分は\(\begin{pmatrix}
5 & -2 & 3
\end{pmatrix}\)で、\(B\)の3列成分は\(\begin{pmatrix}
3 \\ 1 \\ 5
\end{pmatrix}\)です。
これらを左からor上から順にかけて足すと、下式の通りです。
これが\(AB\)の「2行3列成分の値」です。
他の成分についても同様の計算を行うと\(AB\)は以下のようになります。
計算が超面倒ですよね?しかしこれが仕様です。この計算量には現代のコンピューターも悩んでいます(笑)
AB≠BA?
スカラーでは、引き算の順序入れ替えこそご法度(\(5-2 \neq 2-5\))でしたが、掛け算の入れ替えは全然OKでした(\(5 \times 2 = 2 \times 5\))。掛け算は順番を変えても答えが変わりません。
しかし、行列では掛け算の順序を入れ替えると答えが変わることがある点に注意が必要です。
例を挙げます。
上の2行列について\(AB\)と\(BA\)を求めました。
このように結果が全く異なります。
掛け合わせる2行列を入れ替えると、答えが変わるどころか、そもそも答えが定義されなくなる場合すらあります。
したがって、今後は掛け算を扱う時に、掛け合わせる順番(左右のどちらから掛け合わせるのか)を意識しましょう。
なんでこんな面倒な方法なの?
ぶっちゃけ「そういう定義だから!」って話ですが、「線形代数って何?」という記事で行列と連立方程式の関連について軽く触れたのを思い出してください。
上の連立方程式は、行列を使って以下のように表されると述べました。
この式を、行列同士の積のルールに基づいて計算してみてください。多分こんな感じになります。
元の連立方程式と同じような式に戻りました。
こうして見ると、行列の積は、連立方程式の係数と変数を上手く分離できるように定義されているように思えます。
このような積の定義のおかげで、係数と変数を「行列同士の積」という形でまとめて分離できるわけです。このありがたさを今後学習を進めるうちに実感できることと思います。
行列同士の冪乗(べき乗)
同じ行列を何個も次々と掛け合わせたものを、その個数に応じて\(A^n\)という風に記します。
例えば、\(A^1=A\)、\(A^3=AAA\)、\(A^6=AAAAAA\)となります。
$$ A^n=\underbrace{AA{\cdots}A}_{n個}\\ ただし、A^0=Eとする。 $$
ここで掛け算のルールを思い出しましょう。
行列の積\(AB\)が求められるのは、行列\(A\)の列数と、行列\(B\)の行数が等しいときのみでした。
つまり、積\(A^2=AA\)を求められるのは、行列\(A\)の行数と列数が同じときで、それはすなわち\(A\)が正方行列の時に限られます。
ちなみに、積\(A^2\)は\(A\)と同じサイズなので、\(A^3=A^2A\)、\(A^4=A^3A\)、…は必ず求めることができます。
行列同士の割り算は?
行列には割り算がありません。しかし、代わりに逆行列というものを掛けることで、行列で割ったような効果をもたらすことができます。逆行列については次回以降の記事で解説します。
おわりに
今回は、行列を使った演算の定義について扱いました。行列の演算も基本中の基本ですので絶対に覚えてください!笑
次回の記事では、掛け合わせることで割り算みたいな効果を生み出す不思議な行列「逆行列」について解説します!