線形代数 – 内積

投稿者: | 2024年8月13日

定義

定義1

\(V\)を\(\mathbb{F}\)上のベクトル空間とする。\(\boldsymbol{u},\ \boldsymbol{v},\ \boldsymbol{w} \in V\)に対し以下を満たす\(\langle \cdot,\cdot \rangle:\ V \times V \rightarrow \mathbb{F}\)を内積(inner product)とよぶ。

\((a)\) \(\langle \boldsymbol{u},\boldsymbol{v} \rangle = \overline{\langle \boldsymbol{v},\boldsymbol{u} \rangle}\)(共役対称性)

\((b)\) \(\langle \alpha \boldsymbol{u},\boldsymbol{v} \rangle = \alpha \langle \boldsymbol{u},\boldsymbol{v} \rangle\)(第\(1\)引数に関する斉次性)

\((c)\) \(\langle\boldsymbol{u}+\boldsymbol{v},\boldsymbol{w} \rangle = \langle \boldsymbol{u},\boldsymbol{w} \rangle + \langle \boldsymbol{v},\boldsymbol{w} \rangle\)(第\(1\)引数に関する加算性)

\((d)\) \(\langle\boldsymbol{v},\boldsymbol{v}\rangle \ge 0\ \ \)かつ\(\langle\boldsymbol{v},\boldsymbol{v}\rangle=0\ \Leftrightarrow \boldsymbol{v}=\boldsymbol{0}\)(正定値性)

また、内積が定義されたベクトル空間を内積空間(inner product space)とよぶ。

補足

・文字の上の横棒は複素共役を示します。

・\(V\)を\(\mathbb{R}\)上のベクトル空間であると限定する場合、\((a)\)は以下のように複素共役の記号がなくなり、単に対称性とよばれます。
$$\langle \boldsymbol{u},\boldsymbol{v} \rangle = \langle \boldsymbol{v},\boldsymbol{u} \rangle$$

・\((b)\)と\((c)\)を以下のように\(1\)つの条件にすることもできます。この条件を線形性とよびます。

$$\langle \alpha \boldsymbol{u} + \beta \boldsymbol{v},\boldsymbol{w} \rangle = \alpha \langle \boldsymbol{u},\boldsymbol{w} \rangle + \beta \langle \boldsymbol{u},\boldsymbol{w} \rangle$$

これは、

\begin{align}
\langle \alpha \boldsymbol{u} + \beta \boldsymbol{v},\boldsymbol{w} \rangle &=\langle \alpha \boldsymbol{u},\boldsymbol{w}\rangle + \langle\beta \boldsymbol{v},\boldsymbol{w} \rangle \\
&=\alpha \langle \boldsymbol{u},\boldsymbol{w} \rangle + \beta \langle \boldsymbol{v},\boldsymbol{w} \rangle\end{align}

となることから同値であることがわかります。

・高校で学んだ内積は上記定義1に含まれます。以下の例を確認ください。

例1

定義

すべての\(\boldsymbol{u},\boldsymbol{v} \in \mathbb{R}^n\)に対し、

$$\langle \boldsymbol{u},\boldsymbol{v} \rangle = u_1 v_1 + u_2 v_2 + \cdots + u_n v_n $$

とすると\(\langle \boldsymbol{u},\boldsymbol{v} \rangle\)は内積です。

この内積をドット積(dot product)とよびます(次項のように複素ベクトルの場合もドット積とよびます)。

高校で習った内積がこのドット積です。

また、行列により、

$$\langle \boldsymbol{u},\boldsymbol{v} \rangle = \boldsymbol{u}^T \boldsymbol{v}=\begin{pmatrix}u_1 & u_2 & \cdots & u_n\end{pmatrix} \begin{pmatrix}v_1 \\ v_2 \\ \vdots \\ v_n\end{pmatrix}$$

と表すこともできます。

内積であることの確認

\begin{align}
(a)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \\
\langle \boldsymbol{u},\boldsymbol{v} \rangle &= u_1 v_1 + u_2 v_2 + \cdots + u_n v_n \\
&= v_1 u_1 + v_2 u_2 + \cdots + v_n u_n \\
&=\langle \boldsymbol{v},\boldsymbol{u} \rangle \\
(b)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \\
\langle \alpha \boldsymbol{u},\boldsymbol{v} \rangle &= \alpha u_1 v_1 + \alpha u_2 v_2 + \cdots + \alpha u_n v_n \\
&= \alpha(u_1 v_1 + u_2 v_2 + \cdots + u_n v_n )\\
&=\alpha \langle \boldsymbol{u},\boldsymbol{v} \rangle \\
(c)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \\
\langle \boldsymbol{u} + \boldsymbol{v},\boldsymbol{w} \rangle &= (u_1+v_1)w_1 + (u_2+v_2)w_2+\cdots \\
&+(u_n +v_n)w_n \\
&= (u_1w_1+u_2w_2+\cdots +u_n w_n) \\&+ (v_1w_1+v_2w_2+\cdots +v_n w_n) \\
&=\langle \boldsymbol{u},\boldsymbol{w} \rangle + \langle \boldsymbol{v},\boldsymbol{w} \rangle \\
(d)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \\
\langle \boldsymbol{v},\boldsymbol{v} \rangle &= v_1^2 + v_2^2 + \cdots + v_n^2 \ge 0\\
\langle \boldsymbol{v},\boldsymbol{v} \rangle &=v_1^2 + v_2^2+\cdots + v_n^2 = 0 \\ &\Leftrightarrow\ \boldsymbol{v}=\boldsymbol{0}
\end{align}

例2

定義

すべての\(\boldsymbol{u},\boldsymbol{v} \in \mathbb{C}^n\)に対し、

$$\langle \boldsymbol{u},\boldsymbol{v} \rangle = u_1 \overline{v_1} + u_2 \overline{v_2} + \cdots + u_n \overline{v_n} $$

とすると\(\langle \boldsymbol{u},\boldsymbol{v} \rangle\)は内積です。

このように、複素ベクトルどうしの内積の場合は片方を複素共役とします。その理由は末項を確認ください。

内積であることの確認

\begin{align}
(a)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \\
\langle \boldsymbol{u},\boldsymbol{v} \rangle &= u_1 \overline{v_1} + u_2 \overline{v_2} + \cdots + u_n \overline{v_n} \\
&= \overline{ \overline {u_1 \overline{v_1} + u_2 \overline{v_2} + \cdots + u_n \overline{v_n} }} \\
&= \overline {\overline{u_1} v_1+ \overline{u_2} v_2 + \cdots + \overline{u_n} v_n } \\
&= \overline {v_1\overline{u_1} + v_2\overline{u_2} + \cdots + v_n\overline{u_n} } \\
&=\langle \overline{\boldsymbol{v},\boldsymbol{u}} \rangle\\
(b)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \\
\langle \alpha \boldsymbol{u},\boldsymbol{v} \rangle &= \alpha u_1 v_1 + \alpha u_2 v_2 + \cdots + \alpha u_n v_n \\
&= \alpha(u_1 v_1 + u_2 v_2 + \cdots + u_n v_n )\\
&=\alpha \langle \boldsymbol{u},\boldsymbol{v} \rangle \\
(c)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \\
\langle \boldsymbol{u} + \boldsymbol{v},\boldsymbol{w} \rangle &= (u_1 +v_1) w_1 + \cdots + (u_n + v_n) w_n \\
&= (u_1 w_1 + \cdots + u_n w_n)\\&+(v_1 w_1 + \cdots + v_n w_n)\\
&=\langle \boldsymbol{u},\boldsymbol{w} \rangle + \langle \boldsymbol{v},\boldsymbol{w} \rangle \\
(d)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \\
\langle \boldsymbol{v},\boldsymbol{v} \rangle &= v_1^2 + v_2^2 + \cdots + v_n^2 \ge 0\\
\langle \boldsymbol{v},\boldsymbol{v} \rangle &=v_1^2 + v_2^2+\cdots + v_n^2 = 0 \\ &\Leftrightarrow\ \boldsymbol{v}=\boldsymbol{0}
\end{align}

例3

定義

すべての\(A,B \in \mathbb{R}^{m\times n}\) ※1に対し、

$$\langle A,B \rangle = \mathrm{tr}(A^T,B) \tag{1}$$

とすると、※2※3

\(\ \langle A,B \rangle\)は内積です。

また、\(A=(a_{ij}),\ B=(b_{ij})\)とし、

$$\langle A,B \rangle = \sum_{j=1}^{n} \sum_{i=1}^{m} a_{ij} b_{ij}\tag{2}$$

としても同じです。

これを、\(3 \times 2\)の行列についてイメージしてみましょう。図は、成分を色分けしています。

\(A^T B\)は下の図のようになります。

水色とピンク色で囲った部分はそれぞれ\(A\)と\(B\)の同じ位置の成分の積和演算を行っており、それらは\(A^TB\)の対角成分の和となります。

これがトレース、つまり上記\((1),\ (2)\)となります。※3

※1 \(\mathbb{R}^{m \times n}\)は全ての\(m \times n\)の行列の集合です。

※2 \(\langle A,B \rangle = \mathrm{tr}(B^T,A)\)と定義する場合もあります。結果は同じです。

※3 \(\mathrm{tr}\)(トレース)は正方行列の対角成分の和です。

内積であることの確認

\begin{align}
(a)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\
\langle A,B \rangle &= \sum_{j=1}^{n} \sum_{i=1}^{m} a_{ij} b_{ij}\\
&= \sum_{j=1}^{n} \sum_{i=1}^{m} b_{ij} a_{ij}\\
&=\langle B,A \rangle \\
(b)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\
\langle \alpha A,B \rangle &= \sum_{j=1}^{n} \sum_{i=1}^{m} \alpha a_{ij} b_{ij}\\
&= \alpha \sum_{j=1}^{n} \sum_{i=1}^{m} a_{ij} b_{ij}\\
&=\alpha \langle A, B \rangle \\
(c)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\
\langle A+B,C \rangle &= \sum_{j=1}^{n} \sum_{i=1}^{m} (a_{ij} +b_{ij})c_{ij}\\
&= \sum_{j=1}^{n} \sum_{i=1}^{m} (a_{ij}c_{ij} +b_{ij}c_{ij})\\
&=\langle A,C \rangle + \langle B,C \rangle \\
(d)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\
\langle A,A \rangle &= \sum_{j=1}^{n} \sum_{i=1}^{m} a_{ij}^2 \ge 0\\
\langle A,A \rangle &= \sum_{j=1}^{n} \sum_{i=1}^{m} a_{ij}^2 =0 \\ &\Leftrightarrow\ A=0
\end{align}

例4

定義

すべての\(f,g \in C_{\mathbb{R}}[a,b]\)に対し

$$\langle f,g \rangle = \int^b_a f(x) g(x) dx$$

とすると\(\langle f,g \rangle \)は内積です。

※\(C_{\mathbb{R}}[a,b]\)は、\([a,b]\)において連続である実関数の集合です。ここでは実関数であることを明示するために\(\mathbb{R}\)を添え字としましたが、不要である場合は単に\(C[a,b]\)と表します。

内積であることの確認

\begin{align}
(a)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\
\langle f,g \rangle &= \int^b_a f(x) g(x) dx\\
&=\int^b_a g(x) f(x) dx\\
&=\langle g,f \rangle \\
(b)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\
\langle \alpha f,g \rangle &= \int^b_a \alpha f(x) g(x) dx\\
&= \alpha\int^b_a f(x) g(x) dx\\
&=\alpha \langle f,g \rangle \\
(c)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\
\langle f+g,h \rangle &= \int^b_a (f(x) + g(x))h(x) dx\\
&= \int^b_a f(x) h(x) dx\\& + \int^b_a g(x) h(x) dx\\
&=\langle f,h \rangle + \langle g,h \rangle \\
(d)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\
\langle f,f \rangle &= \int^b_a (f(x))^2 dx \ge 0\\
\langle f,f \rangle &= \int^b_a (f(x))^2 dx =0 \\
&\Leftrightarrow \ \forall a \le x \le b, \ f(x) = 0
\end{align}

\(f,g \in C_{\mathbb{C}}[a,b]\)とした場合、やはり片側を複素共役とします。

$$\langle f,g \rangle = \int^b_a f(x) \overline{g(x)} dx$$

例5

定義

すべての\(\boldsymbol{u},\boldsymbol{v} \in \mathbb{R}^n\)に対し、

$$\langle \boldsymbol{u},\boldsymbol{v} \rangle = w_1 u_1 v_1 + w_2 u_2 v_2 + \cdots + w_n u_n v_n \tag{3}$$

とすると、\(\langle \boldsymbol{u},\boldsymbol{v} \rangle\)は内積です。また、

$$\langle \boldsymbol{u},\boldsymbol{v} \rangle = \sum_{i=1}^n \sum_{j=1}^n w_{ij} u_i v_j\tag{4}$$

と、それぞれの成分の全ての組み合わせが存在する場合も同様です。

たとえば\(n=2\)の場合\( (4) \)は、

$$\langle \boldsymbol{u},\boldsymbol{v} \rangle = w_{11} u_1 v_1 + w_{12} u_1 v_2 + w_{21} u_2 v_1 + w_{22} u_2 v_2$$

と表されます。

例1と似ていますが、これらの例は各項に重みをつけています。

ただし\(w_1,w_2,\cdots,w_n\)や\(w_{ij}\)は何でもよいわけではなく以下の条件が必要です。

条件

\((3)\)、\((4)\)の係数はそれぞれ

\begin{align}
W &= \begin{pmatrix} w_1 & & & 0 \\ & w_2 & & \\ & & \ddots & \\ 0 & & & w_n \end{pmatrix}\\
W &= \begin{pmatrix} w_{11} & w_{12} & \cdots & w_{1n} \\ w_{21} & w_{22} & \cdots & w_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ w_{n1} & w_{n2} & \cdots & w_{nn} \end{pmatrix}
\end{align}

とすることにより内積はどちらも

$$\langle \boldsymbol{u},\boldsymbol{v} \rangle = \boldsymbol{u}^T W \boldsymbol{v}$$

と表すことができます。

ただし、以下の条件が成り立つ必要があります。

①対称行列であること

②\(\boldsymbol{x} \in \mathbb{R}^n \backslash \{\boldsymbol{0}\}\)に対し、\(\boldsymbol{x}^T W \boldsymbol{x} > 0 \)

これらを満たす\(W\)を正定値行列(positive definite matrix)とよびます。正定値行列にはいくつかの上記と同値な条件や有用な性質がありますが、ここでは省略します。

内積であることの確認

内積はスカラーであるので、それを行列の積で表した場合、全体を転置しても値は変わりません。したがって\((a)\)の\(1\)行目右辺と\(2\)行目の等式が成り立ちます。

上記①により\((a)\)の\(4\)行目と\(5\)行目の等式が成り立ちます。

上記②により\((d)\)の\(1\)行目が成り立ちます。また、\(\boldsymbol{v}>\boldsymbol{0}\)のとき\(\boldsymbol{v}^T W \boldsymbol{v} > 0 \)であるので、\(\boldsymbol{v}^T W \boldsymbol{v} = 0 \)となる必要十分条件は\(\boldsymbol{v}=\boldsymbol{0}\)です。したがって\(2,3\)行目も成り立ちます。

\begin{align}
(a)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\
\langle \boldsymbol{u},\boldsymbol{v} \rangle &=\boldsymbol{u}^T W \boldsymbol{v}\\
&=(\boldsymbol{u}^T W \boldsymbol{v})^T\\
&=\boldsymbol{v}^T(\boldsymbol{u}^T W)^T\\
&=\boldsymbol{v}^T W^T \boldsymbol{u}\\
&= \boldsymbol{v}^T W \boldsymbol{u} &\\
&= \langle \boldsymbol{v},\boldsymbol{u} \rangle \\
(b)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\
\langle \alpha \boldsymbol{u},\boldsymbol{v} \rangle &=(\alpha \boldsymbol{u}^T) W \boldsymbol{v}\\
&=\alpha (\boldsymbol{u}^T W \boldsymbol{v})\\
&= \alpha \langle \boldsymbol{v},\boldsymbol{u} \rangle\\
(c)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\
\langle \boldsymbol{u}+\boldsymbol{v},\boldsymbol{w} \rangle &=(\boldsymbol{u}+\boldsymbol{v})^T W \boldsymbol{w}\\
&=\boldsymbol{u}^T W \boldsymbol{w}+\boldsymbol{v}^T W \boldsymbol{w}\\
&= \langle \boldsymbol{u},\boldsymbol{w} \rangle + \langle \boldsymbol{v},\boldsymbol{w} \rangle\\
(d)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\
\langle \boldsymbol{v},\boldsymbol{v} \rangle &=\boldsymbol{v}^T W \boldsymbol{v}\ge 0 \\
\langle \boldsymbol{v},\boldsymbol{v} \rangle &=\boldsymbol{v}^T W \boldsymbol{v}=0 \\ &\Leftrightarrow \ \boldsymbol{v} = \boldsymbol{0}
\end{align}

例6

定義

\(f,g,w \in C_{\mathbb{R}}[a,b]\)かつ\([a,b]\)において\(w(x) > 0\)である関数により、

$$\langle f,g \rangle = \int^b_a w(x) f(x) g(x) dx$$

とすると\(\langle f,g \rangle \)は内積です。

これを\(\langle f,g \rangle_w \)と表すこともあります。

内積であることの確認

\begin{align}
(a)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\
\langle f,g \rangle &= \int^b_a w(x) f(x) g(x) dx\\&= \int^b_a w(x) g(x) f(x) dx\\&=\langle g,f \rangle\\
(b)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\
\langle \alpha f,g \rangle &= \int^b_a \alpha w(x) f(x) g(x) dx\\&= \alpha \int^b_a w(x) f(x) g(x) dx\\&=\alpha \langle f,g \rangle\\
(c)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\
\langle f+g,h \rangle &= \int^b_a w(x) (f(x) +g(x))h(x) dx\\&= \int^b_a w(x) f(x) h(x) dx\\&+\int^b_a w(x) g(x) h(x) dx\\&=\langle f,h \rangle+\langle g,h \rangle\\
(d)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\
\langle f,f \rangle &= \int^b_a w(x) (f(x))^2 dx\ge 0 \\
\langle f,f \rangle &= \int^b_a w(x) (f(x))^2 dx =0 \\ &\Leftrightarrow \ \forall a \le x \le b, \ f(x) = 0
\end{align}

なぜ複素ベクトルの内積は片方を複素共役にする?

ベクトルのノルムは以下のように自分自身の内積の平方根と考えることができます。

$$\|\boldsymbol{v}\|_2 = \sqrt{\langle \boldsymbol{v},\boldsymbol{v}\rangle}$$

\(\boldsymbol{v}\in \mathbb{R}^2\)の場合、内積は、

$$\langle \boldsymbol{v},\boldsymbol{v}\rangle=v_1^2+v_2^2$$

と、必ず非負実数になります。

\(\boldsymbol{v}\in \mathbb{C}\)の場合(わかりやすくするため次元を\(1\)にします)、

複素共役を使わずに内積を定義しようとすると、

$$\langle \boldsymbol{v},\boldsymbol{v} \rangle=(v_r+iv_i)^2=v_r^2 \,\!-\,\! v_i^2+2iv_rv_i$$

と、複素数になります(非負実数ではありません)。

一方、片側を複素共役とすると、

$$\langle \boldsymbol{v},\boldsymbol{v} \rangle=(v_r+iv_i)(v_r-iv_i)=v_r^2 + v_i^2$$

と、必ず非負実数になります。ここでは次元を\(1\)としましたが\(2\)以上でも同様です。

このように複素ベクトルの場合にも、内積の定義において片側を複素共役とすることによりノルムを非負実数の平方根とすることができます。