はじめに
前回は、線形写像がベクトルの足し算と定数倍を保つことを学びました。線形写像では、先にベクトルを線形結合してから写しても、先にそれぞれを写してから線形結合しても、結果は同じになります。
では、この性質と行列の計算には、どのような関係があるのでしょうか。
たとえば、次の行列とベクトルを考えます。
$$
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.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つの内積で求めていることになります。

行列とベクトルの積を行から見ると、各行ベクトルと入力ベクトルの内積によって、出力の各成分を計算していると理解できます。
ここでの内積は、対応する成分を掛け合わせて足す計算として使っています。内積が角度や射影とどう関係するかは、次の記事で詳しく説明しています。

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

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



コメント