PR

直交行列の定義と性質10個とその証明

線形代数学
記事内に広告が含まれています。

直交行列とは, AA^\top =A^\top A = I_n となる正方行列 A を指します。これについて,定義と性質とその証明を行いましょう。

直交行列の定義

定義(直交行列)

n正方行列 A直交行列 (orthogonal matrix) であるとは,

\large\color{red} AA^\top =A^\top A = I_n


が成り立つことをいう。ただし, A^\top 転置行列 I_n n単位行列である。

上の定義は, \color{red}A^{-1}=A^\top すなわち逆行列が転置行列になると言っても同じことです。これを定義にしても構いません。特に,直交行列は正則行列(可逆行列)です。

また,定義は AA^\top =I_n だけでも, A^\top A=I_n だけでも構いません。 これは,片方だけから, \det A\ne 0 が従う(→下の性質1.)ため,逆行列が存在することが分かり, AA^\top =I_n なら左から, A^\top A=I_n なら右から A^{-1} をかけることで, A^\top =A^{-1} が得られるためです。

直交行列の具体例

直交行列の具体例として,以下のようなものがあります。

直交行列の具体例

  • R_\theta = \begin{pmatrix} \cos\theta &-\sin\theta \\ \sin\theta & \cos\theta \end{pmatrix} (回転行列)
  • \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} (置換行列)
  • \displaystyle \frac{1}{2}\begin{pmatrix}1& 1&1& 1\\1&-1&1&-1 \\1&1&-1&-1 \\1&-1&-1&1 \end{pmatrix}
  • 単位行列

直交行列の性質10個

定理(直交行列の性質)

A,B n 次直交行列とする。このとき,

1. \det A=\pm 1 (行列式)
2. AB も直交行列である。
3. A^{-1} も直交行列である。
4. A^\top も直交行列である。

さらに, A実行列(実直交行列)とし,\lVert \cdot \rVert, \langle \cdot, \cdot \rangle をそれぞれ実ベクトルのノルム・内積(後述)とすると,

5. A は対角化可能。
6. A の各列ベクトルは正規直交基底になっている。
7. A の各行ベクトルは正規直交基底になっている。
8. \lVert A\boldsymbol{x} \rVert= \lVert \boldsymbol{x} \rVert \quad(\boldsymbol{x}\in \mathbb{R}^n) ただし,\boldsymbol{x} は列ベクトルとする。(等長性)
9. \langle A\boldsymbol{x},A\boldsymbol{y}\rangle = \langle \boldsymbol{x}, \boldsymbol{y}\rangle\quad(\boldsymbol{x},\boldsymbol{y}\in \mathbb{R}^n) ただし,\boldsymbol{x},\boldsymbol{y} は列ベクトルとする。(内積を保つ)
10. A の全ての固有値 \lambda \in \mathbb{C} |\lambda |=1 をみたす。

また,逆に6-9.のいずれかが成り立つとき,実行列 A は直交行列である。

A を「直交行列」という名前で呼ぶ理由の一つが6-7.ですね。

直交行列の列ベクトルが互いに直交する例

内積は \boldsymbol{x}=\begin{pmatrix} x_1\\ \vdots \\ x_n\end{pmatrix} , \boldsymbol{y} = \begin{pmatrix} y_1\\ \vdots \\ y_n \end{pmatrix} \in \mathbb{R}^n に対し,

\langle \boldsymbol{x},\boldsymbol{y}\rangle = \sum_{k=1}^n x_ky_k


と定義されます。また,

\lVert \boldsymbol{x} \rVert = \sqrt{ \langle \boldsymbol{x},\boldsymbol{x}\rangle }=\sqrt{\sum_{k=1}^n x_k^2}


です(→数ベクトルの定義と数ベクトルにおけるノルム・内積)。これを踏まえて,1-10.を順番に証明していきましょう。

1. det A = ±1

証明

A,B を正方行列としたとき, \det AB = \det A \det B,\; \det A = \det A^\top であることに注意する(→行列式の性質6つの証明(列,行の線形性,置換,積,転置など))。

\det I_n = \det (AA^\top) = \det A \det A^\top = (\det A)^2


より, \det A = \pm1 である。

証明終

2. A,Bが直交行列⇒ABが直交行列

証明

A,B が正方行列のとき, (AB)^\top = B^\top A^\top であることに注意する(→転置行列の定義と基本的な性質11個の証明)。

\begin{aligned} AB(AB)^\top &= AB (B^\top A^\top) =A(BB^\top)A^\top\\&= AA^\top =I_n ,\\ (AB)^\top AB &= (B^\top A^\top)AB = B^\top(A^\top A) B\\ &= B^\top B = I_n \end{aligned}


であるから, AB は直交行列である。

証明終

3. 逆行列も直交行列

証明

一般に (A^{-1})^\top=(A^\top)^{-1} に注意する(→転置行列の定義と基本的な性質11個の証明)。

\begin{aligned}A^{-1} (A^{-1})^\top &= A^{-1} (A^\top)^{-1} =(A^\top A)^{-1} = I_n, \\ (A^{-1})^\top A^{-1}&= (A^\top)^{-1} A^{-1} =(AA^\top)^{-1}=I_n \end{aligned}


より, A^{-1} も直交行列である。

証明終

4. A^T も直交行列

これは (A^\top)^\top =A であることから明らかでしょう。 A^\top = A^{-1} なので,3.に帰着してもよいです。

5. 実直交行列は対角化可能

ここからは直交行列は実とします。

証明

A^*A随伴行列(共役転置)を表すとする。実直交行列は AA^* =A^* A をみたすから,正規行列であり,正規行列は対角化可能であるから,実直交行列は対角化可能である。

証明終

正規行列が対角化可能であることは以下で解説しています。

6-7. Aの各列ベクトル・行ベクトルは正規直交基底

証明

A = (\boldsymbol{x_1},\dots, \boldsymbol{x_n}) と列ベクトルに分解する。 すると,

A^\top A =\begin{pmatrix}\langle \boldsymbol{x_1},\boldsymbol{x_1}\rangle & \dots & \langle \boldsymbol{x_1},\boldsymbol{x_n}\rangle \\ \vdots & \ddots &\vdots \\ \langle \boldsymbol{x_n},\boldsymbol{x_1}\rangle &\dots & \langle \boldsymbol{x_n},\boldsymbol{x_n}\rangle \end{pmatrix}


であるから,\langle \boldsymbol{x_i},\boldsymbol{x_j}\rangle = \delta_{ij} となる(右辺はクロネッカーのデルタ)。従って, \boldsymbol{x_1},\dots, \boldsymbol{x_n} 正規直交基底である。

A= \begin{pmatrix} \boldsymbol{y_1}\\ \vdots \\ \boldsymbol{y_n}\end{pmatrix} と行ベクトルに分解する。すると,

AA^\top = \begin{pmatrix}\langle \boldsymbol{y_1},\boldsymbol{y_1}\rangle & \dots & \langle \boldsymbol{y_1},\boldsymbol{y_n}\rangle \\ \vdots & \ddots &\vdots \\ \langle \boldsymbol{y_n},\boldsymbol{y_1}\rangle &\dots & \langle \boldsymbol{y_n},\boldsymbol{y_n}\rangle \end{pmatrix}


であるから, \langle \boldsymbol{y_i},\boldsymbol{y_j}\rangle = \delta_{ij} となる(右辺はクロネッカーのデルタ)。従って, \boldsymbol{y_1},\dots, \boldsymbol{y_n} 正規直交基底である。

証明終

逆の証明

A の列ベクトルが正規直交基底ならば,上より A^\top A = I_n であり,直交行列になる。

A の行ベクトルが正規直交基底ならば,上より AA^\top =I_n であり,直交行列になる。

証明終

8-9. ||Ax|| = ||x||, <Ax, Ay> = <x, y>

8.が \lVert A\boldsymbol{x}\rVert = \lVert \boldsymbol{x}\rVert ,9.が \langle A\boldsymbol{x},A\boldsymbol{y}\rangle = \langle \boldsymbol{x}, \boldsymbol{y}\rangle です。

証明

一般に正方行列 A に対して, \langle A\boldsymbol{x},\boldsymbol{y}\rangle = \langle \boldsymbol{x}, A^\top \boldsymbol{y}\rangle が成り立つことに注意する(→転置行列の定義と基本的な性質11個の証明)。これより,

\langle A\boldsymbol{x}, A\boldsymbol{y} \rangle= \langle \boldsymbol{x}, A^\top A\boldsymbol{y} \rangle = \langle \boldsymbol{x}, \boldsymbol{y} \rangle


であるから,9.が示せた。これより,

\lVert A\boldsymbol{x}\rVert =\sqrt{ \langle A\boldsymbol{x}, A\boldsymbol{x} \rangle } = \sqrt{ \langle \boldsymbol{x}, \boldsymbol{x} \rangle }= \lVert \boldsymbol{x}\rVert


となり,8.も示せた。

証明終

逆の証明

9.のとき,

\langle \boldsymbol{x}, \boldsymbol{y} \rangle =\langle A\boldsymbol{x}, A\boldsymbol{y} \rangle = \langle \boldsymbol{x}, A^\top A\boldsymbol{y} \rangle


が任意の列ベクトル \boldsymbol{x},\boldsymbol{y}\in\mathbb{R}^n で成立するので, A^\top A=I_n である。

8.のとき,polarization identity

\langle \boldsymbol{x}, \boldsymbol{y} \rangle =\frac{1}{4} ( \lVert \boldsymbol{x}+\boldsymbol{y}\rVert^2 - \lVert \boldsymbol{x}-\boldsymbol{y}\rVert^2)


を考えることで,9.が成立するため,上に帰着する。

証明終

10. 固有値をλとすると,|λ| = 1

8.で \lVert A\boldsymbol{x} \rVert = \lVert \boldsymbol{x}\rVert を証明しましたが,これは \boldsymbol{x}複素ベクトル \boldsymbol{x}\in \mathbb{C}^n であっても成立します(このときノルムは \lVert\boldsymbol{x}\rVert = \sqrt{\sum_{k=1}^n |x_k|^2} です)。これを認めて,10.の証明をしましょう。

証明

\lambda \in\mathbb{C}固有値 \boldsymbol{x}\in\mathbb{C}^n \setminus\{\boldsymbol{0}\} (列ベクトル)を固有ベクトルとする。すると, A\boldsymbol{x}=\lambda \boldsymbol{x} である。両辺ノルムを取ると

\lVert A\boldsymbol{x}\rVert = |\lambda| \lVert \boldsymbol{x}\rVert


である。一方で,8.より \lVert A\boldsymbol{x}\rVert = \lVert \boldsymbol{x}\rVert なので, \lVert \boldsymbol{x}\rVert = |\lambda| \lVert \boldsymbol{x}\rVert . したがって, |\lambda |=1 である。

証明終

無事に10個とも証明できましたね。

直交行列の複素数版

直交行列を複素数に拡張したものはユニタリ行列 (unitary matrix) といい,\color{red} UU^*=U^*U=I_n をみたすものとして定義されます。ただし, U^* = \overline{U}^\top 随伴行列(共役転置)です。これについては,以下で解説しています。

関連する記事