Categories: 線形代数

線形代数 行列の積

ここでは,大学で習う線形代数についての基本を説明していきます.また,対象は特に問いません.数学が苦手な方でも理解しやすいような例を利用しているので安心して読み進めてください.なお,当サイトの線形代数の進め方について知りたい方は以下をクリック.

線形代数の進め方

この回では,行列計算の最初の関門である積について説明していきます.

キーワード:積、列、行

本題に入る前に

行列の積を計算する前に頭に入れておいてほしいことが二つあります.

  1. 計算する互いの行列の型が,m行n列n行p列になっていること.つまり,片方の行列の列ともう片方の行列の行が必ず一致していること.
  2. 掛ける順番によって結果が異なることがあるということ.

この二つに関して今は意識しておきましょう.

行列の積

では実際に計算していきます.例として以下の行列を使います.

\[A = \begin{pmatrix} 2 & 1 & 3 \\ 1 & 2 & 3 \end{pmatrix}, B = \begin{pmatrix} 1 & 2 \\ 3 & 4 \\ 5 & 6 \end{pmatrix} \]

A×BとB×Aを計算してみます.最初はA×Bを計算します.その前に型の確認です.Aは2行3列,Bは3行2列ですが,各行列の列と行の部分が一致しているので確かに積を計算することが出来ます.

ではやっていきます.

ここでAの第1行(2, 1, 3)とBの第1列(1, 3, 5)に注目してください.このように積では各行と列ごとに見ていきます.この部分の積は

$$ (2 \times 1) + (1 \times 3) + (3 \times 5) = 2 + 3 + 15 = 20 $$

となります.そしてこの値はABの(1, 1)成分になります.

次にAの第1行(2, 1, 3)とBの第2列(2, 4, 6)に注目します.このときAは先ほどと同じ第1行に対して,Bの列は第2列に変わっていることを意識してください.積を計算すると,

$$ (2 \times 2) + (1 \times 4) + (3 \times 6) = 4 + 4 + 18 = 26 $$

となり,この値はABの(1, 2)成分になります.

次にAの第2行(1, 2, 3)とBの第1列(1, 3, 5)に注目します.Aは第2行です(注意).

このあたりで何となく規則があると感じた方がいるのでないでしょうか.よって積を計算すると

$$ (1\times 1) + (2 \times 3) + (3 \times 5) = 1 + 6 + 15 = 22 $$

これはABの(2, 1)成分になります.最後にAの第2行(1, 2, 3)とBの第2列(2, 4, 6)の積を計算すると

$$ (1\times 2) + (2 \times 4) + (3 \times 6) = 2 + 8 + 18 = 28 $$

となり,これはABの(2, 2)成分です.

これまでの計算を整理すると

\[AB = \begin{pmatrix} 2 & 1 & 3 \\ 1 & 2 & 3 \end{pmatrix}\begin{pmatrix} 1 & 2 \\ 3 & 4 \\ 5 & 6 \end{pmatrix} = \begin{pmatrix} 2 \times 1 + 1 \times 3 + 3 \times 5 & 2 \times 2 + 1 \times 4 + 3 \times 6 \\ 1\times 1 + 2 \times 3 + 3 \times 5 & 1\times 2 + 2 \times 4 + 3 \times 6 \end{pmatrix}\]

\[= \begin{pmatrix} 20 & 26 \\ 22 & 28 \end{pmatrix}\]

となります.つまりABの場合,Aの各行を固定し,Bの各列に対して成分ごとの積をとったあとその和を値とするという流れになります.

一般に行列の積は以下になります.

\[A = \begin{pmatrix} a & b \\ c & d \end{pmatrix}, B = \begin{pmatrix} e & f \\ g & h \end{pmatrix} \]

\[AB = \begin{pmatrix} a & b \\ c & d \end{pmatrix}\begin{pmatrix} e & f \\ g & h \end{pmatrix} = \begin{pmatrix} ae + bg & af + bh \\ ce + dg & cf + dh \end{pmatrix}\]

では積ABは求まりました.BAも同様に計算します.その前に型の確認です.Bは3行2列,Aは2行3列より計算可能です.

\[BA = \begin{pmatrix} 1 & 2 \\ 3 & 4 \\ 5 & 6 \end{pmatrix} \begin{pmatrix} 2 & 1 & 3 \\ 1 & 2 & 3 \end{pmatrix} = \begin{pmatrix}1 \times 2 + 2 \times 1 & 1 \times 1 + 2 \times 2 & 1 \times 3 + 2 \times 3 \\ 3 \times 2 + 4 \times 1 & 3 \times 1 + 4 \times 2 & 3 \times 3 + 4 \times 3 \\ 5 \times 2 + 6 \times 1 & 5 \times 1 + 6 \times 2 & 5 \times 3 + 6 \times 3 \end{pmatrix} \]

\[ = \begin{pmatrix} 4 & 5 & 9 \\ 10 & 11 & 21 \\ 16 & 17 & 33\end{pmatrix} \]

となります.ここで気にしてほしいのはABとBAの計算結果が異なるということです.

つまり掛ける順番によって結果が異なることがあるということです.これを区別するためにABの場合,AをBの左から掛ける,BAの場合,AをBの右から掛けるといいます.

積の計算方法は以上になります.最初は非常にやっかいに感じるかもしれませんが,行列の積は必ず線形代数で使うので,何度も繰り返してマスターしましょう!

コラム

ここで皆さんに見直しに役立つ知識を伝授します.

先ほどのABとBAを使います.Aの型は2行3列,Bの型は3行2列でした.このとき,ABの結果は2行2列となりました.BAの結果は3行3列になりました.

このことから何か分からないでしょうか?

実は,m行n列とn行p列の積を計算するとその結果は必ずm行p列の行列となります.

このことから,計算する行列の型から答えの行列の型が分かり,仮に計算して型が違うときは,間違っていると分かります.

行列の積に慣れるまではぜひ使ってみてください!

まとめ

1.m行n列とn行p列のときのみ行列の積は計算可能(列と行が一致).

2.行列の積は実数の積と異なり,掛ける順番によって結果が異なることがある.

3.積を計算する際はABの場合,最初にAの各行を固定し,Bの列を一列ずつずらして計算する.その際,AとBの各成分どうしの積をとりその全体の和をABの新たな成分とする.Aの第1行部分の計算が終わったら,その軸をずらして第2行とし同様に計算していく.

4.積の結果は,元の行列の型がm行n列とn行p列の場合,必ずm行p列になる.

練習問題

1.以下の行列の積は計算可能か答えなさい.計算可能な場合,積を計算しなさい.そうでない場合,なぜ積を計算できないのか答えなさい.

\[(1) \begin{pmatrix} 3 & 2 \\ 5 & 4 \end{pmatrix}\begin{pmatrix} 8 & 1 \\ 2 & 6 \end{pmatrix} \]

\[(2) \begin{pmatrix} 5 & 8 \\ 10 & 11 \end{pmatrix}\begin{pmatrix} 7 & 4 \\ 2 & 1 \\ 3 & 10 \end{pmatrix} \]

\[(3) \begin{pmatrix} 4 & 2 \\ 9 & 3 \\ 7 & 10 \end{pmatrix}\begin{pmatrix} 2 & 1 & 4 \\ 5 & 6 & 5 \end{pmatrix} \]

解答はこちら → 練習問題解答

tomo

Recent Posts

Python入門 算術演算子と計算のルール

ここではプログラミング言語"P…

5年 ago

線形代数 線形代数の進め方

ここでは,当サイトの線形代数(…

4年 ago

線形代数 行列とは

ここでは,大学で習う線形代数に…

4年 ago

線形代数 行列の和と定数倍(スカラー倍)

ここでは,大学で習う線形代数に…

4年 ago

線形代数 正則行列

ここでは,大学で習う線形代数に…

4年 ago

Python入門 データ型

ここではプログラミング言語"P…

4年 ago

This website uses cookies.