行列とベクトルの積とは何か?|列ベクトルの線形結合と行ごとの内積で理解する

数学

はじめに

前回は、線形写像がベクトルの足し算と定数倍を保つことを学びました。線形写像では、先にベクトルを線形結合してから写しても、先にそれぞれを写してから線形結合しても、結果は同じになります。

では、この性質と行列の計算には、どのような関係があるのでしょうか。

たとえば、次の行列とベクトルを考えます。

$$
A=
\begin{pmatrix}
2&1\\
1&3
\end{pmatrix},
\quad
\boldsymbol{x}=
\begin{pmatrix}
3\\
2
\end{pmatrix}
$$

行列とベクトルの積を計算すると、

$$
A\boldsymbol{x}
=
\begin{pmatrix}
8\\
9
\end{pmatrix}
$$

となります。

この計算では、なぜ行列の各行とベクトルの成分を掛け合わせて足すのでしょうか。また、行列の列ベクトルにはどのような意味があるのでしょうか。

行列とベクトルの積は、行列の列ベクトルを入力ベクトルの成分で線形結合する操作です。同じ計算を行ごとに見ると、各行ベクトルと入力ベクトルの内積になります。

この記事では、行列とベクトルの積を「列」と「行」の2つの視点から考えます。そして、この2つの計算方法が同じ結果になる理由を、具体例と数式で理解しましょう。

この記事でわかること

この記事では、次の内容の理解を目指します。

  • 行列とベクトルの積が、どのように計算されるのか
  • 行列の列ベクトルを線形結合するとはどういうことか
  • 行列の各行とベクトルの内積から、出力の成分を求める方法
  • 列から見た計算と行から見た計算が一致する理由
  • 行列とベクトルの積が線形写像を表す理由
  • 行列のサイズによって、入力と出力の次元がどう決まるのか

1.行列とベクトルの積はどう計算するのか?

まずは、行列とベクトルの積の計算方法を確認しましょう。

2行2列の行列 \(A\) と、2成分の列ベクトル \(\boldsymbol{x}\) を考えます。

$$
A=
\begin{pmatrix}
a_{11}&a_{12}\\
a_{21}&a_{22}
\end{pmatrix},
\quad
\boldsymbol{x}=
\begin{pmatrix}
x\\
y
\end{pmatrix}
$$

このとき、行列とベクトルの積は次のように計算します。

$$
A\boldsymbol{x}
=
\begin{pmatrix}
a_{11}x+a_{12}y\\
a_{21}x+a_{22}y
\end{pmatrix}
$$

第1成分は、行列の第1行とベクトルの成分を掛け合わせて足したものです。同様に、第2成分は行列の第2行から計算します。

1.1.具体的な数字で計算する

次の行列とベクトルで確かめてみましょう。

$$
A=
\begin{pmatrix}
2&1\\
1&3
\end{pmatrix},
\quad
\boldsymbol{x}=
\begin{pmatrix}
3\\
2
\end{pmatrix}
$$

行列とベクトルの積を計算すると、

$$
\begin{aligned}{}
A\boldsymbol{x}
&=
\begin{pmatrix}
2\cdot3+1\cdot2\\
1\cdot3+3\cdot2
\end{pmatrix}\\
&=
\begin{pmatrix}
8\\
9
\end{pmatrix}
\end{aligned}
$$

となります。

計算方法はそれほど難しくありません。しかし、ここで重要なのは、なぜ行列の各行とベクトルを掛け合わせて足すのかということです。その理由を理解するために、まず行列を「列」から見てみましょう。

2.行列の列ベクトルを線形結合する

行列 \(A\) を、2本の列ベクトルを並べたものとして考えます。

$$
A=
\begin{pmatrix}
a_{11}&a_{12}\\
a_{21}&a_{22}
\end{pmatrix}
=
\begin{pmatrix}
\boldsymbol{a}_1&\boldsymbol{a}_2
\end{pmatrix}
$$

ここで、

$$
\boldsymbol{a}_1=
\begin{pmatrix}
a_{11}\\
a_{21}
\end{pmatrix},
\quad
\boldsymbol{a}_2=
\begin{pmatrix}
a_{12}\\
a_{22}
\end{pmatrix}
$$

です。このように考えると、行列とベクトルの積は次のように書けます。

$$
A\boldsymbol{x}
=
x\boldsymbol{a}_1+y\boldsymbol{a}_2
$$

つまり、行列の第1列を \(x\) 倍し、第2列を \(y\) 倍して足しているのです。

2.1.先ほどの具体例を列から見る

先ほどの行列は、

$$
A=
\begin{pmatrix}
2&1\\
1&3
\end{pmatrix}
$$

でした。この行列を列ベクトルに分けると、

$$
\boldsymbol{a}_1=
\begin{pmatrix}
2\\
1
\end{pmatrix},
\quad
\boldsymbol{a}_2=
\begin{pmatrix}
1\\
3
\end{pmatrix}
$$

となります。

入力ベクトルが \(\boldsymbol{x}=(3,2)^T\) なので、行列とベクトルの積は、

$$
\begin{aligned}{}
A\boldsymbol{x}
&=3\boldsymbol{a}_1+2\boldsymbol{a}_2\\
&=3\begin{pmatrix}2\\1\end{pmatrix}
+2\begin{pmatrix}1\\3\end{pmatrix}\\
&=\begin{pmatrix}6\\3\end{pmatrix}
+\begin{pmatrix}2\\6\end{pmatrix}\\
&=\begin{pmatrix}8\\9\end{pmatrix}
\end{aligned}
$$

となり、第1章と同じ結果が得られました。ただし、今回は行列を数字の表として計算したのではなく、2本の列ベクトルを線形結合して、新しいベクトルを作ったと考えています。

2.2.図形的には何が起こっているのか?

この計算を平面上のベクトルとして考えてみましょう。

まず、列ベクトル \(\boldsymbol{a}_1\) を3倍し、\(\boldsymbol{a}_2\) を2倍します。

$$
3\boldsymbol{a}_1=
\begin{pmatrix}6\\3\end{pmatrix},
\quad
2\boldsymbol{a}_2=
\begin{pmatrix}2\\6\end{pmatrix}
$$

そして、この2本を足し合わせると、\((8,9)^T\) に到達します。

列ベクトルの線形結合

行列とベクトルの積を列から見ると、入力ベクトルの成分を係数として、行列の列ベクトルを線形結合する操作だと理解できます。

これは、以前学んだ線形結合の考え方そのものです。

▶ 線形結合の意味を復習したい
線形結合とは何か?|ベクトルを「伸ばして足す」という考え方
線形結合とは何か?ベクトルを定数倍して足し合わせる基本操作から、直線・平面・3次元空間を作る仕組みまで、具体例と図を使って解説します。ベクトルの本数と独立した方向の違いや、線形結合で作られる「張る空間」の意味も理解できます。

3.なぜ行列の列が重要なのか?

前回までの記事では、線形変換は基底ベクトルの行き先によって決まることを学びました。この性質を使うと、行列とベクトルの積が列ベクトルの線形結合になる理由がわかります。

▶ 線形変換と基底ベクトルの関係を復習したい
線形変換とは何か?|行列がベクトルをどう動かすのかを図で理解する
線形変換とは何か?行列によってベクトルや空間がどのように変形するのかを図で解説します。拡大・縮小、回転、せん断の具体例から、基底ベクトルと行列の列の関係、線形結合を保つ意味、行列式による面積の変化、基底変換との違いまで理解できます。

3.1.ベクトルを標準基底で表す

平面の標準基底を、

$$
\boldsymbol{e}_1=
\begin{pmatrix}1\\0\end{pmatrix},
\quad
\boldsymbol{e}_2=
\begin{pmatrix}0\\1\end{pmatrix}
$$

とします。

任意のベクトル \(\boldsymbol{x}\) は、

$$
\boldsymbol{x}
=
x\boldsymbol{e}_1+y\boldsymbol{e}_2
$$

と表せます。つまり、ベクトルの成分 \(x,y\) は、標準基底を何倍して足すかを表しています。

3.2.線形写像は線形結合を保つ

ここで、線形写像 \(T:\mathbb{R}^2\to\mathbb{R}^2\) を考えます。

線形写像は線形結合を保つので、

$$
\begin{aligned}{}
T(\boldsymbol{x})
&=T(x\boldsymbol{e}_1+y\boldsymbol{e}_2)\\
&=xT(\boldsymbol{e}_1)+yT(\boldsymbol{e}_2)
\end{aligned}
$$

となります。したがって、標準基底の行き先である \(T(\boldsymbol{e}_1)\) と \(T(\boldsymbol{e}_2)\) がわかれば、任意のベクトルの行き先を計算できます。

標準基底の変換先である2本のベクトルを列に並べた行列を、

$$
A=
\begin{pmatrix}
T(\boldsymbol{e}_1)&T(\boldsymbol{e}_2)
\end{pmatrix}
$$

とすると、

$$
\begin{aligned}{}
A\boldsymbol{x}
&=xT(\boldsymbol{e}_1)+yT(\boldsymbol{e}_2)\\
&=T(\boldsymbol{x})
\end{aligned}
$$

となります。

つまり、線形写像が線形結合を保つからこそ、行列とベクトルの積を列ベクトルの線形結合として計算できるのです。

この関係を確認するために、次の行列による線形写像を考えましょう。

$$
A=
\begin{pmatrix}
2&1\\
1&3
\end{pmatrix}
$$

この写像では、標準基底 \(\boldsymbol{e}_1,\boldsymbol{e}_2\) が、それぞれ行列の第1列 \(\boldsymbol{a}_1=(2,1)^T\)、第2列 \(\boldsymbol{a}_2=(1,3)^T\) に移ります。

標準基底と行列の列の関係

左側では、入力ベクトル \(\boldsymbol{x}=(3,2)^T\) が、標準基底の線形結合 \(3\boldsymbol{e}_1+2\boldsymbol{e}_2\) として表されています。

右側では、標準基底の行き先を使って、

$$
A\boldsymbol{x}
=3\boldsymbol{a}_1+2\boldsymbol{a}_2
=\begin{pmatrix}8\\9\end{pmatrix}
$$

と計算できます。つまり、行列の列ベクトルは、標準基底がどこへ移るかを表しているのです。

ここでは標準基底を使いましたが、ほかの基底を使って線形写像を行列で表すこともできます。その一般的な仕組みは、次回の「線形写像の表現行列」で詳しく説明します。

4.行列の各行とベクトルの内積として見る

ここまでは、行列を列から見てきました。

では、第1章で使った「行ごとに掛け合わせて足す」という計算は、どのように理解できるのでしょうか。

もう一度、次の行列とベクトルを考えます。

$$
A=
\begin{pmatrix}
a_{11}&a_{12}\\
a_{21}&a_{22}
\end{pmatrix},
\quad
\boldsymbol{x}=
\begin{pmatrix}x\\y\end{pmatrix}
$$

行列の第1行と第2行の成分を、それぞれ列ベクトルとして並べ直し、

$$
\boldsymbol{r}_1=
\begin{pmatrix}a_{11}\\a_{12}\end{pmatrix},
\quad
\boldsymbol{r}_2=
\begin{pmatrix}a_{21}\\a_{22}\end{pmatrix}
$$

とおきます。

このとき、行列とベクトルの積は、

$$
A\boldsymbol{x}
=
\begin{pmatrix}
\boldsymbol{r}_1\cdot\boldsymbol{x}\\
\boldsymbol{r}_2\cdot\boldsymbol{x}
\end{pmatrix}
$$

と書けます。ここで、\(\cdot\) はベクトルの内積です。

4.1.具体例で内積を計算する

先ほどの行列では、

$$
\boldsymbol{r}_1=
\begin{pmatrix}2\\1\end{pmatrix},
\quad
\boldsymbol{r}_2=
\begin{pmatrix}1\\3\end{pmatrix}
$$

です。入力ベクトルは \(\boldsymbol{x}=(3,2)^T\) でした。

第1行と第2行について、それぞれ内積を計算すると、

$$
\begin{aligned}{}
\boldsymbol{r}_1\cdot\boldsymbol{x}
&=2\cdot3+1\cdot2=8\\
\boldsymbol{r}_2\cdot\boldsymbol{x}
&=1\cdot3+3\cdot2=9
\end{aligned}
$$

となります。したがって、

$$
A\boldsymbol{x}
=
\begin{pmatrix}
8\\9
\end{pmatrix}
$$

が得られます。

4.2.行ごとの内積は何を表しているのか?

列から見た計算では、出力ベクトル全体を線形結合で作りました。

一方、行から見た計算では、出力ベクトルの各成分を、それぞれ1つの内積で求めていることになります。

行ごとの内積による計算

行列とベクトルの積を行から見ると、各行ベクトルと入力ベクトルの内積によって、出力の各成分を計算していると理解できます。

ここでの内積は、対応する成分を掛け合わせて足す計算として使っています。内積が角度や射影とどう関係するかは、次の記事で詳しく説明しています。

▶ 内積について詳しく知りたい
内積とは何を計算しているのか?|「影」と「角度」でわかるベクトルの本質
内積とは何を計算しているのかを、ベクトルの「影」と角度に注目して直感的に解説。内積の公式にコサインが現れる理由や、2本のベクトルの向きとの関係を図で理解します。

5.「列の線形結合」と「行の内積」はなぜ同じになるのか?

ここまで、行列とベクトルの積を2つの方法で計算しました。

列から見た場合は、

$$
A\boldsymbol{x}
=x\boldsymbol{a}_1+y\boldsymbol{a}_2
$$

でした。一方、行から見た場合は、

$$
A\boldsymbol{x}
=
\begin{pmatrix}
\boldsymbol{r}_1\cdot\boldsymbol{x}\\
\boldsymbol{r}_2\cdot\boldsymbol{x}
\end{pmatrix}
$$

でした。

なぜ、この2つは同じ結果になるのでしょうか。

5.1.列ベクトルの線形結合を成分で展開する

まず、列ベクトルを使って計算します。

$$
\begin{aligned}{}
x\boldsymbol{a}_1+y\boldsymbol{a}_2
&=
x\begin{pmatrix}a_{11}\\a_{21}\end{pmatrix}
+y\begin{pmatrix}a_{12}\\a_{22}\end{pmatrix}\\
&=
\begin{pmatrix}
a_{11}x+a_{12}y\\
a_{21}x+a_{22}y
\end{pmatrix}
\end{aligned}
$$

この結果を見ると、第1成分の \(a_{11}x+a_{12}y\) は、行列の第1行と入力ベクトルの内積になっています。

同様に、第2成分の \(a_{21}x+a_{22}y\) も、第2行と入力ベクトルの内積です。

つまり、列ベクトルの線形結合を成分ごとに計算すると、自然に行ごとの内積が現れるのです。

5.2.2つの見方は同じ計算の別の側面

この関係を整理すると、次のようになります。

見方 計算するもの 理解できること
列から見る 列ベクトルの線形結合 出力ベクトル全体をどう作るか
行から見る 各行と入力ベクトルの内積 出力の各成分をどう求めるか

列から見ると、ベクトルを組み合わせる操作が見えます。一方、行から見ると、各成分を計算する仕組みが見えます。この2つは異なる計算方法ではなく、同じ行列とベクトルの積を異なる視点から見たものなのです。

6.行列とベクトルの積は、線形写像を表している

行列とベクトルの積は、単なる数値計算ではありません。

行列 \(A\) を固定して、

$$
T(\boldsymbol{x})=A\boldsymbol{x}
$$

と定めると、これは線形写像になります。

その理由を、列ベクトルの線形結合から確かめてみましょう。

6.1.足し算を保つ

任意のベクトル、

$$
\boldsymbol{u}=
\begin{pmatrix}u_1\\u_2\end{pmatrix},
\quad
\boldsymbol{v}=
\begin{pmatrix}v_1\\v_2\end{pmatrix}
$$

を考えます。

行列の列ベクトルを \(\boldsymbol{a}_1,\boldsymbol{a}_2\) とすると、

$$
\begin{aligned}{}
A(\boldsymbol{u}+\boldsymbol{v})
&=(u_1+v_1)\boldsymbol{a}_1
+(u_2+v_2)\boldsymbol{a}_2\\
&=(u_1\boldsymbol{a}_1+u_2\boldsymbol{a}_2)
+(v_1\boldsymbol{a}_1+v_2\boldsymbol{a}_2)\\
&=A\boldsymbol{u}+A\boldsymbol{v}
\end{aligned}
$$

となります。したがって、行列とベクトルの積は足し算を保ちます。

6.2.定数倍を保つ

任意の実数 \(c\) に対しても、

$$
\begin{aligned}{}
A(c\boldsymbol{u})
&=(cu_1)\boldsymbol{a}_1+(cu_2)\boldsymbol{a}_2\\
&=c(u_1\boldsymbol{a}_1+u_2\boldsymbol{a}_2)\\
&=cA\boldsymbol{u}
\end{aligned}
$$

となります。したがって、定数倍も保たれます。

この2つから、\(T(\boldsymbol{x})=A\boldsymbol{x}\) は線形写像であることがわかります。

行列とベクトルの積が線形写像を表すのは、列ベクトルの線形結合として計算でき、足し算と定数倍の関係を保つからです。

7.行列のサイズとベクトルの次元にはどんな関係があるのか?

ここまでは2行2列の行列を使いましたが、行列とベクトルの積は、異なる次元の空間の間でも考えられます。

たとえば、次の行列を見てみましょう。

$$
A=
\begin{pmatrix}
1&2\\
3&4\\
5&6
\end{pmatrix}
$$

これは3行2列の行列です。この行列に2成分のベクトルを掛けると、

$$
A\begin{pmatrix}x\\y\end{pmatrix}
=
\begin{pmatrix}
x+2y\\
3x+4y\\
5x+6y
\end{pmatrix}
$$

となり、3成分のベクトルが得られます。

つまり、この行列は、

$$
T:\mathbb{R}^2\longrightarrow\mathbb{R}^3
$$

という線形写像を表しています。

7.1.一般の行列ではどうなるのか?

一般に、\(m\) 行 \(n\) 列の行列 \(A\) と、\(n\) 成分の列ベクトル \(\boldsymbol{x}\) を考えます。

$$
A=
\begin{pmatrix}
a_{11}&\cdots&a_{1n}\\
\vdots&\ddots&\vdots\\
a_{m1}&\cdots&a_{mn}
\end{pmatrix},
\quad
\boldsymbol{x}=
\begin{pmatrix}
x_1\\
\vdots\\
x_n
\end{pmatrix}
$$

このとき、行列とベクトルの積は、

$$
A\boldsymbol{x}
=
\begin{pmatrix}
\displaystyle\sum_{j=1}^{n}a_{1j}x_j\\
\vdots\\
\displaystyle\sum_{j=1}^{n}a_{mj}x_j
\end{pmatrix}
$$

となります。

出力の第 \(i\) 成分は、

$$
(A\boldsymbol{x})_i
=
\sum_{j=1}^{n}a_{ij}x_j
$$

です。また、行列の列ベクトルを \(\boldsymbol{a}_1,\ldots,\boldsymbol{a}_n\) とすると、

$$
A\boldsymbol{x}
=
x_1\boldsymbol{a}_1+\cdots+x_n\boldsymbol{a}_n
$$

とも表せます。

したがって、行列とベクトルの積が定義されるためには、行列の列数と入力ベクトルの成分数が一致する必要があります。

また、出力ベクトルの成分数は、行列の行数になります。

対象 サイズ・次元
行列 \(A\) \(m\) 行 \(n\) 列
入力ベクトル \(\boldsymbol{x}\) \(n\) 成分
出力ベクトル \(A\boldsymbol{x}\) \(m\) 成分
線形写像 \(\mathbb{R}^n\to\mathbb{R}^m\)

ここで注意したいのは、出力が \(m\) 成分だからといって、すべての \(m\) 成分のベクトルを作れるとは限らないことです。

実際にどのようなベクトルを作れるのかは、行列の列ベクトルが張る空間によって決まります。この考え方は、後の記事で学ぶ「像」や「ランク」につながります。

まとめ

今回は、行列とベクトルの積を、列ベクトルの線形結合と行ごとの内積という2つの視点から考えました。

重要なポイントを整理します。

  • 行列とベクトルの積では、行列の各行と入力ベクトルの成分を掛け合わせて足す。
  • 列から見ると、行列とベクトルの積は列ベクトルの線形結合になる。
  • 行列の列ベクトルは、標準基底ベクトルの変換先を表す。
  • 行から見ると、各行と入力ベクトルの内積が、出力の各成分になる。
  • 列の線形結合と行の内積は、同じ計算を異なる視点から見たものである。
  • 行列とベクトルの積は足し算と定数倍を保つため、線形写像を表す。
  • \(m\) 行 \(n\) 列の行列は、\(\mathbb{R}^n\) から \(\mathbb{R}^m\) への線形写像を表す。

今回、最も重要なのは次の2つの関係です。

$$
A\boldsymbol{x}
=
x_1\boldsymbol{a}_1+\cdots+x_n\boldsymbol{a}_n
$$

$$
(A\boldsymbol{x})_i
=
\sum_{j=1}^{n}a_{ij}x_j
$$

行列とベクトルの積は、列から見れば「ベクトルを線形結合して作る操作」、行から見れば「出力の各成分を内積で求める計算」です。この2つの見方をつなげることで、行列が線形写像を表す仕組みを理解できます。

前回は、線形写像が線形結合を保つことを学びました。今回、その性質が行列とベクトルの積の計算につながっていることがわかりました。

次回は、標準基底だけでなく、一般の基底を使って線形写像を行列で表す「表現行列」を学びます。

関連記事

▶ 前回:線形写像とは何か?|線形結合を保つ写像を理解する
線形写像とは何か?|線形結合を保つ写像を理解する
線形写像とは何か?ベクトルの足し算と定数倍を保つ仕組みを、具体例と図でわかりやすく解説します。線形結合を保つ意味や、平行移動が線形写像ではない理由、線形変換との違い、異なる次元の空間への写像まで、線形写像の基本を理解できます。
▶ 次回:線形写像の表現行列とは何か?|基底を決めると行列が決まる理由
線形写像の表現行列とは何か?|基底を決めると行列が決まる理由
線形写像の表現行列とは何か?基底ベクトルの変換先から表現行列を作る方法を図と具体例で解説。基底を変えると行列の成分が変わる理由や、基底変換行列との関係もわかりやすく説明します。

Part 3.線形写像と行列をまとめて理解する

Part 3では、線形写像を行列で表す仕組みから、行列の演算、像・核・ランク・次元定理までを学びます。線形写像と行列の関係を整理したい人は、次のまとめ記事をご覧ください。

▶ 線形写像と行列の全体像をまとめて理解したい
線形写像と行列の全体像|像・核・ランクから行列の意味を理解する
線形写像と行列の関係を図でわかりやすく解説。基底ベクトルの変換から行列の掛け算、像・核・ランク・次元定理までを整理し、行列が表す意味と線形代数の各概念のつながりを理解します。

関連書籍

行列とベクトルの積を、線形結合や線形写像の観点からさらに学びたい人には、線形代数の基礎を扱う書籍も参考になります。

理工学の基礎「線形代数」に心震える | 佐藤 敏明 |本 | 通販 | Amazon
Amazonで佐藤 敏明の理工学の基礎「線形代数」に心震える。アマゾンならポイント還元本が多数。佐藤 敏明作品ほか、お急ぎ便対象商品は当日お届けも可能。また理工学の基礎「線形代数」に心震えるもアマゾン配送商品なら通常配送無料。
キーポイント線形代数 (理工系数学のキーポイント 2) | 薩摩 順吉, 四ツ谷 晶二 |本 | 通販 | Amazon
Amazonで薩摩 順吉, 四ツ谷 晶二のキーポイント線形代数 (理工系数学のキーポイント 2)。アマゾンならポイント還元本が多数。薩摩 順吉, 四ツ谷 晶二作品ほか、お急ぎ便対象商品は当日お届けも可能。またキーポイント線形代数 (理工系数...
プログラミングのための線形代数 | 平岡 和幸, 堀 玄 |本 | 通販 | Amazon
Amazonで平岡 和幸, 堀 玄のプログラミングのための線形代数。アマゾンならポイント還元本が多数。平岡 和幸, 堀 玄作品ほか、お急ぎ便対象商品は当日お届けも可能。またプログラミングのための線形代数もアマゾン配送商品なら通常配送無料。
数学
スポンサーリンク
toshi

京都市在住のエンジニア。読書好きが高じてブログを始め、現在は数学やAI・ソフトウェアを中心に、おすすめの小説についても記事を書いています。

toshiをフォローする
シェアする
toshiをフォローする

コメント

タイトルとURLをコピーしました