サイト内検索

あらゆるワードの関連記事を検索できます!

おぐえもん
大学に通う理系学生です♪Webサイトやチラシ、冊子などのデザインや、システム開発などの経験があります。音楽が好きで、渋谷系サウンドが好物です!
たぶん今すぐ使えるテクニックから、きっと全く使えない豆知識まで。

行列の演算

行列の演算方法について扱います。難関である行列同士の掛け算についてもしっかり説明します!

おぐえもん

本カテゴリ
線形代数解説の定番サイト。大学1年生どころか再履のアホでも分かる丁寧な説明が特長。1年生前期〜後期の授業で学ぶ範囲を扱います。

こんにちは、おぐえもん(@oguemon_com)です。

前回の記事では、行列とは何なのか、そして、行列の中でもちょっぴり特別な形をした行列をご紹介しました。

今回は、行列を使った演算の方法について説明します。行列は、今まで扱っていた数(スカラーといいます)と同じように計算できますが、そのルールや性質が少し異なります。今までとの違いに注意しながら学習しましょう!

目次(クリックで該当箇所へ移動)

足し算・引き算

行列\(A,B\)に対して\(A+B\)という風に表現します。足し算は、対応する成分を足し合わせるだけでOKです。
$$
\begin{eqnarray}
\left(
\begin{array}{ccc}
3 & 7 \\
6 & -4
\end{array}
\right)+
\left(
\begin{array}{ccc}
0 & 3 \\
4 & -4
\end{array}
\right)&=&
\left(
\begin{array}{ccc}
3+0 & 7+3 \\
6+4 & -4+(-4)
\end{array}
\right)\\
&=&
\left(
\begin{array}{ccc}
3 & 10 \\
10 & -8
\end{array}
\right)
\end{eqnarray}
$$
抽象的に表すと、こんな感じ。

行列の和

\(A=[a_{ij}],B=[b_{ij}]\)のとき、
$$A+B=[a_{ij}+b_{ij}]$$

引き算の場合は、プラスをマイナスに置き換えてください。

「対応する成分を」ってことは、行列の縦横の数が合っていないもの同士は加算・減算できないってことになります。なんでも足し引きできた今までの数(スカラー)とは大きく異なる特徴です。

スカラー倍

「2」や「-5.4」みたいな今まで使ってきた数(スカラー)で掛け算することをスカラー倍と言います。スカラーはどんな形の行列でも掛け算できます
行列を\(A\)、スカラーを\(\lambda\)とすると、スカラー倍は\({\lambda}A\)という風に表現します。計算方法は簡単で、全ての成分にスカラーを掛けます。
$$
\begin{eqnarray}
4*\left(
\begin{array}{ccc}
2 & 3 \\
5 & -2 \\
12 & 8
\end{array}
\right)&=&
\left(
\begin{array}{ccc}
4*2 & 4*3 \\
4*5 & 4*(-2) \\
4*12 & 4*8
\end{array}
\right)\\
&=&\left(
\begin{array}{ccc}
8 & 12 \\
20 & -8 \\
48 & 32
\end{array}
\right)
\end{eqnarray}
$$
抽象的に表すと、こんな感じ。

行列のスカラー倍

\(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=0}^ra_{ik}b_{kj}]$$
となる。

これだけだと意味不明だと思うんで、とにかく例を示しましょう。
$$
A=
\left(
\begin{array}{ccc}
2 & 3 & 4\\
5 & -2 & 3
\end{array}
\right), B=
\left(
\begin{array}{cc}
6 & 1 & 3\\
-3 & 0 & 1 \\
5 & 8 & 5
\end{array}
\right)
$$
について\(AB\)を計算します。

まず、Aの列数は3で、Bの行数も3です。2つの数が一致するので、積\(AB\)を求めることができます。

そして、Aの行数は2で、Bの列数は3です。よって、積\(AB\)は、2行3列の行列となります。

ここで、\(AB\)の2行3列成分を求めてみます。

\(A\)の2行成分は
\(
\left(\begin{array}{ccc}
5 & -2 & 3
\end{array}
\right)
\)
で、\(B\)の3列成分は
\(
\left(\begin{array}{c}
3 \\ 1 \\ 5
\end{array}
\right)
\)
です。
これらを左からor上から順にかけて足すと、
$$5*3+(-2)*1+3*5=28$$
となります。これが\(AB\)の「2行3列成分の値」です。

他の成分についても同様の計算を行うと\(AB\)は以下のようになります。
$$
AB=
\left(\begin{array}{cc}
23 & 34 & 29\\
51 & 29 & 28
\end{array}
\right)
$$
計算が超面倒ですよね?しかしこれが仕様です。この計算量には現代のコンピューターも悩んでいます(笑)

AB≠BA?

スカラーでは、引き算の順序入れ替えこそご法度(\(5-2 \neq 2-5\))でしたが、掛け算の入れ替えは全然OKでした(\(5 \times 2 = 2 \times 5\))。順番を変えても答えが変わらないんですよね。

しかし、行列では掛け算の順序を入れ替えると答えが変わってしまうことがある点に注意が必要です。

例を挙げます。
$$
A=
\left(
\begin{array}{cc}
2 & 1\\
1 & 3
\end{array}
\right), B=
\left(
\begin{array}{cc}
2 & 3\\
1 & 2
\end{array}
\right)
$$
以上の2行列について\(AB\)と\(BA\)を求めました。
$$
AB=
\left(\begin{array}{cc}
5 & 8\\
5 & 9
\end{array}
\right)\\
BA=
\left(\begin{array}{cc}
7 & 11\\
4 & 7
\end{array}
\right)
$$
このように結果が全く異なります。

掛け合わせる2行列を入れ替えると、答えが変わるどころか、そもそも答えが定義されなくなる場合すらあります。

今後は掛け算を扱う時に、掛け合わせる順番(左右のどちらから掛け合わせるのか)を意識しましょう

なんでこんな面倒な方法なの?

ぶっちゃけ「そういう定義だから!」って話ですが、「線形代数って何?」という記事で行列と連立方程式の関連について軽く触れたのを思い出してください。
$$
\left\{
\begin{array}{l}
2x + 4y = 7 \\
x + 3y = 6
\end{array}
\right.
$$
上の連立方程式は、行列を使って以下のように表されると述べました。
$$
\left(
\begin{array}{cc}
2 & 4 \\
1 & 3
\end{array}
\right)
\left( \begin{array}{c} x \\ y\end{array} \right)
=\left( \begin{array}{c} 7 \\ 6\end{array} \right)
$$
この式を、行列同士の積のルールに基づいて計算してみてください。多分こんな感じになります。
$$
\left(\begin{array}{c} 2x+4y \\ x+3y \end{array}\right)
=\left( \begin{array}{c} 7 \\ 6\end{array} \right)
$$
元の連立方程式と同じような式に戻りました。

こうして見ると、行列の積は、連立方程式の係数と変数を上手く分離できるように定義されているように思えます。

このような積の定義のおかげで、係数と変数を「行列同士の積」という形でまとめて分離できるわけです。このありがたさを今後学習を進めるうちに実感できることと思います。

行列同士の冪乗(べき乗)

同じ行列を何個も次々と掛け合わせたものを、その個数に応じて\(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\)、…は必ず求めることができます。

行列同士の割り算は?

行列には割り算がありません。しかし、代わりに逆行列というものを掛けることで、行列で割ったような効果をもたらすことができます。逆行列については後で出てきます。

おわりに

今回は、行列を使った演算の定義について扱いました。行列の演算も基本中の基本ですので絶対に覚えてください!笑

次回の記事では、掛け合わせることで割り算みたいな効果を生み出す不思議な行列「逆行列」について解説します!

割り算みたいな効果をもたらす「逆行列」について>>