Summarize Timeline Top Qs Fact Check
A
{\displaystyle A}
を階数
r
{\displaystyle r}
の
n
{\displaystyle n}
次正方行列 とする。ただし、行列の要素は体
K
{\displaystyle K}
の元 であり、
K
{\displaystyle K}
は実数体
R
n
{\displaystyle \mathbb {R} ^{n}}
または複素数体
C
n
{\displaystyle \mathbb {C} ^{n}}
のいずれかであるとする。このとき、
A
=
U
Λ
V
∗
{\displaystyle A=U\Lambda V^{*}}
という
A
{\displaystyle A}
の分解が存在する。
ここで
U
{\displaystyle U}
および
V
{\displaystyle V}
はn次の直交行列またはユニタリ行列であり、
V
∗
{\displaystyle V^{*}}
は
V
{\displaystyle V}
の随伴行列 (
V
{\displaystyle V}
を転置 し、さらに各要素をその複素共役 で置換えた行列)とする。
K
=
R
n
{\displaystyle K=\mathbb {R} ^{n}}
の場合は、
V
∗
{\displaystyle V^{*}}
は
V
{\displaystyle V}
の転置行列
V
T
{\displaystyle V^{T}}
に等しい。この場合、
Λ
{\displaystyle \Lambda }
は実対角行列 であり、各対角要素は非負の実数である(つまり 0 の場合もあり得る)。
K
=
C
n
{\displaystyle K=\mathbb {C} ^{n}}
の場合は、
Λ
{\displaystyle \Lambda }
は複素対角行列であり、各対角要素は任意の値を取り得る(つまり 0 の場合もあり得る)。
上式は、
U
∗
A
V
=
Λ
{\displaystyle U^{*}AV=\Lambda }
と書き直すこともできる。これは
A
{\displaystyle A}
が2つのユニタリ行列によって対角化可能なことを表している。
いくつかのケースに分けて証明を行う。
(1)
A
{\displaystyle A}
が正則な実
n
{\displaystyle n}
次正方行列の場合 ===
A
A
T
=
X
{\displaystyle AA^{T}=X}
と置く。
A
T
{\displaystyle A^{T}}
は
A
{\displaystyle A}
の転置行列 である。
X
T
=
(
A
A
T
)
T
=
(
A
T
)
T
A
T
=
X
{\displaystyle X^{T}=(AA^{T})^{T}=(A^{T})^{T}A^{T}=X}
であるから
X
{\displaystyle X}
は正則な対称行列である。対称行列
X
{\displaystyle X}
は適当な直交行列
U
1
{\displaystyle U_{1}}
によって
U
1
X
U
1
T
{\displaystyle U_{1}X{U_{1}}^{T}}
が実対角行列となるようにできる。この実対角行列を
T
{\displaystyle T}
と置く。
T
{\displaystyle T}
も正則行列であり、各対角要素は 0 ではない。
T
=
U
1
X
U
1
T
=
U
1
A
A
T
U
1
T
=
(
U
1
A
)
(
U
1
A
)
T
{\displaystyle T=U_{1}X{U_{1}}^{T}=U_{1}AA^{T}{U_{1}}^{T}=(U_{1}A)(U_{1}A)^{T}}
であるから
B
=
U
1
A
{\displaystyle B=U_{1}A}
と置けば、
T
=
B
B
T
{\displaystyle T=BB^{T}}
である。行列
B
{\displaystyle B}
は正則な実
n
{\displaystyle n}
次正方行列である。その成分表示を次のように表すことにする。
B
=
[
b
1
,
1
⋯
b
1
,
n
⋮
⋱
⋮
b
n
,
1
⋯
b
n
,
n
]
=
[
b
1
⋮
b
n
]
{\displaystyle B={\begin{bmatrix}b_{1,1}&\cdots &b_{1,n}\\\vdots &\ddots &\vdots \\b_{n,1}&\cdots &b_{n,n}\end{bmatrix}}={\begin{bmatrix}b_{1}\\\vdots \\b_{n}\end{bmatrix}}}
ここで
b
i
{\displaystyle b_{i}}
は
B
{\displaystyle B}
の第
i
{\displaystyle i}
行が成す行ベクトルとする。つまり、
b
i
=
(
b
i
,
1
⋯
b
i
,
j
⋯
b
i
,
n
)
{\displaystyle b_{i}=(b_{i,1}\cdots b_{i,j}\cdots b_{i,n})}
である。
b
i
{\displaystyle b_{i}}
を用いれば、
T
{\displaystyle T}
は次のように表される。
T
=
B
B
T
=
[
(
b
1
,
b
1
)
⋯
0
⋯
0
⋮
⋱
⋮
⋮
0
⋯
(
b
i
,
b
i
)
⋯
0
⋮
⋮
⋱
⋮
0
⋯
0
⋯
(
b
n
,
b
n
)
]
{\displaystyle T=BB^{T}={\begin{bmatrix}(b_{1},b_{1})&\cdots &0&\cdots &0\\\vdots &\ddots &\vdots &&\vdots \\0&\cdots &(b_{i},b_{i})&\cdots &0\\\vdots &&\vdots &\ddots &\vdots \\0&\cdots &0&\cdots &(b_{n},b_{n})\end{bmatrix}}}
ここで
(
b
i
,
b
j
)
{\displaystyle (b_{i},b_{j})}
は行ベクトル
b
i
{\displaystyle b_{i}}
と
b
j
{\displaystyle b_{j}}
の内積 である。
T
{\displaystyle T}
の各対角成分
(
b
i
,
b
i
)
(
1
≤
i
≤
n
)
{\displaystyle (b_{i},b_{i})\;(1\leq i\leq n)}
は 0 ではないので、
b
i
(
1
≤
i
≤
n
)
{\displaystyle b_{i}\;(1\leq i\leq n)}
も零ベクトルではない。
(
b
i
,
b
j
)
=
0
(
i
≠
j
)
{\displaystyle (b_{i},b_{j})=0\;(i\neq j)}
であるから
B
{\displaystyle B}
の異なる行ベクトルは直交している。ただし、
(
b
i
,
b
i
)
{\displaystyle (b_{i},b_{i})}
は必ずしも 1 ではないので、
B
{\displaystyle B}
は直交行列ではない。そこで、
U
2
=
[
b
1
/
|
b
1
|
⋮
b
i
/
|
b
i
|
⋮
b
n
/
|
b
n
|
]
{\displaystyle U_{2}={\begin{bmatrix}b_{1}\,/\,|b_{1}|\\\vdots \\b_{i}\,/\,|b_{i}|\\\vdots \\b_{n}\,/\,|b_{n}|\end{bmatrix}}}
と定義すれば、
U
2
{\displaystyle U_{2}}
は直交行列になる。ただし
|
b
i
|
=
(
b
i
,
b
i
)
{\displaystyle |b_{i}|={\sqrt {(b_{i},b_{i})}}}
である。
B
U
2
T
=
U
1
A
U
2
T
=
[
|
b
1
|
⋯
0
⋯
0
⋮
⋱
⋮
⋮
0
⋯
|
b
i
|
⋯
0
⋮
⋮
⋱
⋮
0
⋯
0
⋯
|
b
n
|
]
{\displaystyle B{U_{2}}^{T}=U_{1}A{U_{2}}^{T}={\begin{bmatrix}|b_{1}|&\cdots &0&\cdots &0\\\vdots &\ddots &\vdots &&\vdots \\0&\cdots &|b_{i}|&\cdots &0\\\vdots &&\vdots &\ddots &\vdots \\0&\cdots &0&\cdots &|b_{n}|\end{bmatrix}}}
であるから、
B
U
2
T
=
U
1
A
U
2
T
{\displaystyle B{U_{2}}^{T}=U_{1}A{U_{2}}^{T}}
は実対角行列であり、これを
Λ
{\displaystyle \Lambda }
と置けば、
A
{\displaystyle A}
は、直交行列
U
1
,
U
2
{\displaystyle U_{1},\;U_{2}}
によって、
U
1
A
U
2
T
=
Λ
{\displaystyle U_{1}A{U_{2}}^{T}=\Lambda }
と対角化できることが分かる。
(2)
A
{\displaystyle A}
が正則な複素
n
{\displaystyle n}
次正方行列の場合
A
A
∗
=
X
{\displaystyle AA^{*}=X}
と置く。
A
∗
{\displaystyle A^{*}}
は
A
{\displaystyle A}
の随伴行列 である。
X
∗
=
(
A
A
∗
)
∗
=
(
A
∗
)
∗
A
∗
=
X
{\displaystyle X^{*}=(AA^{*})^{*}=(A^{*})^{*}A^{*}=X}
であるから
X
{\displaystyle X}
は正則なエルミート行列 である。エルミート行列
X
{\displaystyle X}
は適当なユニタリ行列
U
1
{\displaystyle U_{1}}
によって
U
1
X
U
1
∗
{\displaystyle U_{1}X{U_{1}}^{*}}
が実対角行列となるようにできる。この実対角行列を
T
{\displaystyle T}
と置く。
T
{\displaystyle T}
も正則行列であり、各対角要素は 0 ではない。
T
=
U
1
X
U
1
∗
=
U
1
A
A
∗
U
1
∗
=
(
U
1
A
)
(
U
1
A
)
∗
{\displaystyle T=U_{1}X{U_{1}}^{*}=U_{1}AA^{*}{U_{1}}^{*}=(U_{1}A)(U_{1}A)^{*}}
であるから
B
=
U
1
A
{\displaystyle B=U_{1}A}
と置けば、
T
=
B
B
∗
{\displaystyle T=BB^{*}}
である。行列
B
{\displaystyle B}
は正則な複素
n
{\displaystyle n}
次正方行列である。その成分表示を次のように表すことにする。
B
=
[
b
1
,
1
⋯
b
1
,
n
⋮
⋱
⋮
b
n
,
1
⋯
b
n
,
n
]
=
[
b
1
⋮
b
n
]
{\displaystyle B={\begin{bmatrix}b_{1,1}&\cdots &b_{1,n}\\\vdots &\ddots &\vdots \\b_{n,1}&\cdots &b_{n,n}\end{bmatrix}}={\begin{bmatrix}b_{1}\\\vdots \\b_{n}\end{bmatrix}}}
ここで
b
i
{\displaystyle b_{i}}
は
B
{\displaystyle B}
の第
i
{\displaystyle i}
行が成す行ベクトルとする。つまり、
b
i
=
(
b
i
,
1
⋯
b
i
,
j
⋯
b
i
,
n
)
{\displaystyle b_{i}=(b_{i,1}\cdots b_{i,j}\cdots b_{i,n})}
である。
b
i
{\displaystyle b_{i}}
を用いれば、
T
{\displaystyle T}
は次のように表される。
T
=
B
B
∗
=
[
(
b
1
,
b
1
)
⋯
0
⋯
0
⋮
⋱
⋮
⋮
0
⋯
(
b
i
,
b
i
)
⋯
0
⋮
⋮
⋱
⋮
0
⋯
0
⋯
(
b
n
,
b
n
)
]
{\displaystyle T=BB^{*}={\begin{bmatrix}(b_{1},b_{1})&\cdots &0&\cdots &0\\\vdots &\ddots &\vdots &&\vdots \\0&\cdots &(b_{i},b_{i})&\cdots &0\\\vdots &&\vdots &\ddots &\vdots \\0&\cdots &0&\cdots &(b_{n},b_{n})\end{bmatrix}}}
T
{\displaystyle T}
の各対角成分
(
b
i
,
b
i
)
(
1
≤
i
≤
n
)
{\displaystyle (b_{i},b_{i})\;(1\leq i\leq n)}
は 0 ではないので、
b
i
(
1
≤
i
≤
n
)
{\displaystyle b_{i}\;(1\leq i\leq n)}
も零ベクトルではない。
(
b
i
,
b
j
)
=
0
(
i
≠
j
)
{\displaystyle (b_{i},b_{j})=0\;(i\neq j)}
であるから
B
{\displaystyle B}
の異なる行ベクトルは直交している。ただし、
(
b
i
,
b
i
)
{\displaystyle (b_{i},b_{i})}
は必ずしも 1 ではないので、
B
{\displaystyle B}
はユニタリ行列ではない。そこで、
U
2
=
[
b
1
/
|
b
1
|
⋮
b
i
/
|
b
i
|
⋮
b
n
/
|
b
n
|
]
{\displaystyle U_{2}={\begin{bmatrix}b_{1}\,/\,|b_{1}|\\\vdots \\b_{i}\,/\,|b_{i}|\\\vdots \\b_{n}\,/\,|b_{n}|\end{bmatrix}}}
と定義すれば、
U
2
{\displaystyle U_{2}}
はユニタリ行列になる。
B
U
2
∗
=
U
1
A
U
2
∗
=
[
|
b
1
|
⋯
0
⋯
0
⋮
⋱
⋮
⋮
0
⋯
|
b
i
|
⋯
0
⋮
⋮
⋱
⋮
0
⋯
0
⋯
|
b
n
|
]
{\displaystyle B{U_{2}}^{*}=U_{1}A{U_{2}}^{*}={\begin{bmatrix}|b_{1}|&\cdots &0&\cdots &0\\\vdots &\ddots &\vdots &&\vdots \\0&\cdots &|b_{i}|&\cdots &0\\\vdots &&\vdots &\ddots &\vdots \\0&\cdots &0&\cdots &|b_{n}|\end{bmatrix}}}
であるから、
B
U
2
∗
=
U
1
A
U
2
∗
{\displaystyle B{U_{2}}^{*}=U_{1}A{U_{2}}^{*}}
は実対角行列であり、これを
Λ
{\displaystyle \Lambda }
と置けば、
A
{\displaystyle A}
は、ユニタリ行列
U
1
,
U
2
{\displaystyle U_{1},\;U_{2}}
によって、
U
1
A
U
2
∗
=
Λ
{\displaystyle U_{1}A{U_{2}}^{*}=\Lambda }
と対角化できることが分かる。
U
3
=
[
e
i
θ
1
⋯
0
⋯
0
⋮
⋱
⋮
⋮
0
⋯
e
i
θ
i
⋯
0
⋮
⋮
⋱
⋮
0
⋯
0
⋯
e
i
θ
n
]
{\displaystyle U_{3}={\begin{bmatrix}e^{i\,\theta _{1}}&\cdots &0&\cdots &0\\\vdots &\ddots &\vdots &&\vdots \\0&\cdots &e^{i\,\theta _{i}}&\cdots &0\\\vdots &&\vdots &\ddots &\vdots \\0&\cdots &0&\cdots &e^{i\,\theta _{n}}\end{bmatrix}}}
と置けば、
U
3
{\displaystyle U_{3}}
はユニタリ行列である。ただし、各
θ
i
{\displaystyle \theta _{i}}
は複素数の位相を表す実数であり、
0
≤
θ
i
<
2
π
{\displaystyle 0\leq \theta _{i}<2\,\pi }
とする。
U
1
A
U
2
∗
U
3
=
U
1
A
(
U
3
∗
U
2
)
∗
=
Λ
U
3
{\displaystyle U_{1}A{U_{2}}^{*}U_{3}=U_{1}A({U_{3}}^{*}U_{2})^{*}=\Lambda U_{3}}
と置けば、
U
3
∗
U
2
{\displaystyle {U_{3}}^{*}U_{2}}
はユニタリ行列であり、
Λ
U
3
{\displaystyle \Lambda U_{3}}
は複素対角行列である。これらを、それぞれ改めて
U
2
{\displaystyle U_{2}}
、
Λ
{\displaystyle \Lambda }
と書き直すことにすれば、
U
1
A
U
2
∗
=
Λ
{\displaystyle U_{1}A{U_{2}}^{*}=\Lambda }
と複素対角行列に対角化できることが分かる。
(3)
A
{\displaystyle A}
が階数
r
{\displaystyle r}
の複素
n
{\displaystyle n}
次正方行列の場合
階数
r
{\displaystyle r}
が
n
{\displaystyle n}
に等しい場合は、(2)と同じになるので、
r
<
n
{\displaystyle r\,<\,n}
の場合とする。
A
A
∗
=
X
{\displaystyle AA^{*}=X}
と置く。
X
∗
=
(
A
A
∗
)
∗
=
(
A
∗
)
∗
A
∗
=
X
{\displaystyle X^{*}=(AA^{*})^{*}=(A^{*})^{*}A^{*}=X}
であるから
X
{\displaystyle X}
はエルミート行列 であり、その階数は
A
{\displaystyle A}
と同じく
r
{\displaystyle r}
となる(証明略)。エルミート行列
X
{\displaystyle X}
は適当なユニタリ行列
U
1
{\displaystyle U_{1}}
によって
U
1
X
U
1
∗
{\displaystyle U_{1}X{U_{1}}^{*}}
が実対角行列となるようにできる。この実対角行列を
T
{\displaystyle T}
と置く。正則行列を乗じても行列の階数は変わらないので、
T
{\displaystyle T}
も階数
r
{\displaystyle r}
の行列であり、各対角要素のうち 0 ではないものは
r
{\displaystyle r}
個である。行列の基本変形 のうち、2つの行を入換える変形は、ユニタリ行列
P
i
,
j
{\displaystyle P_{i,j}}
を左から乗ずる操作であるから、
U
1
{\displaystyle U_{1}}
を適切に選べば
T
{\displaystyle T}
は次の形式にできる。
T
=
[
t
1
⋯
0
⋯
0
⋮
⋱
⋮
⋮
0
⋯
t
r
0
⋯
0
0
⋯
0
0
⋯
0
⋮
⋮
⋱
⋮
0
⋯
0
⋯
0
]
{\displaystyle T={\begin{bmatrix}t_{1}&\cdots &0&&\cdots &0\\\vdots &\ddots &\vdots &&&\vdots \\0&\cdots &t_{r}&0&\cdots &0\\0&\cdots &0&0&\cdots &0\\\vdots &&\vdots &&\ddots &\vdots \\0&\cdots &0&&\cdots &0\end{bmatrix}}}
対角要素
t
1
{\displaystyle t_{1}}
~
t
r
{\displaystyle t_{r}}
は 0 ではなく、値の降順に並んでいるものとする。
T
=
U
1
X
U
1
∗
=
U
1
A
A
∗
U
1
∗
=
(
U
1
A
)
(
U
1
A
)
∗
{\displaystyle T=U_{1}X{U_{1}}^{*}=U_{1}AA^{*}{U_{1}}^{*}=(U_{1}A)(U_{1}A)^{*}}
であるから
B
=
U
1
A
{\displaystyle B=U_{1}A}
と置けば、
T
=
B
B
∗
{\displaystyle T=BB^{*}}
である。行列
B
{\displaystyle B}
の成分表示を次のように表すことにする。
B
=
[
b
1
,
1
⋯
b
1
,
n
⋮
⋱
⋮
b
n
,
1
⋯
b
n
,
n
]
=
[
b
1
⋮
b
n
]
{\displaystyle B={\begin{bmatrix}b_{1,1}&\cdots &b_{1,n}\\\vdots &\ddots &\vdots \\b_{n,1}&\cdots &b_{n,n}\end{bmatrix}}={\begin{bmatrix}b_{1}\\\vdots \\b_{n}\end{bmatrix}}}
ここで
b
i
{\displaystyle b_{i}}
は
B
{\displaystyle B}
の第
i
{\displaystyle i}
行が成す行ベクトルとする。つまり、
b
i
=
(
b
i
,
1
⋯
b
i
,
j
⋯
b
i
,
n
)
{\displaystyle b_{i}=(b_{i,1}\cdots b_{i,j}\cdots b_{i,n})}
である。
b
i
{\displaystyle b_{i}}
を用いれば、
T
{\displaystyle T}
は次のように表される。
T
=
B
B
∗
=
[
(
b
1
,
b
1
)
⋯
0
⋯
0
⋮
⋱
⋮
⋮
0
⋯
(
b
r
,
b
r
)
0
⋯
0
0
⋯
0
0
⋯
0
⋮
⋮
⋱
⋮
0
⋯
0
⋯
0
]
{\displaystyle T=BB^{*}={\begin{bmatrix}(b_{1},b_{1})&\cdots &0&&\cdots &0\\\vdots &\ddots &\vdots &&&\vdots \\0&\cdots &(b_{r},b_{r})&0&\cdots &0\\0&\cdots &0&0&\cdots &0\\\vdots &&\vdots &&\ddots &\vdots \\0&\cdots &0&&\cdots &0\end{bmatrix}}}
T
{\displaystyle T}
の対角成分
(
b
i
,
b
i
)
(
1
≤
i
≤
r
)
{\displaystyle (b_{i},b_{i})\;(1\leq i\leq r)}
は 0 ではないので、
b
i
(
1
≤
i
≤
r
)
{\displaystyle b_{i}\;(1\leq i\leq r)}
も零ベクトルではない。
一方、
(
b
i
,
b
i
)
(
r
+
1
≤
i
≤
n
)
{\displaystyle (b_{i},b_{i})\;(r+1\leq i\leq n)}
は 0 であるので、
b
i
(
r
+
1
≤
i
≤
n
)
{\displaystyle b_{i}\;(r+1\leq i\leq n)}
は零ベクトルでなければならない。
b
1
{\displaystyle b_{1}}
~
b
r
{\displaystyle b_{r}}
の異なる行ベクトルは直交している。これらはn次元ベクトルであるから、これらと直交し、さらに互いに直交する
n
−
r
{\displaystyle n-r}
個のn次元ベクトルが存在する。これらを
c
1
{\displaystyle c_{1}}
~
c
n
−
r
{\displaystyle c_{n-r}}
とする。なお、これらは
(
c
i
,
c
i
)
=
1
{\displaystyle (c_{i},c_{i})=1}
と規格化されているものとする(グラム・シュミットの正規直交化法 参照)。
U
2
=
[
b
1
/
|
b
1
|
⋮
b
r
/
|
b
r
|
c
1
⋮
c
n
−
r
]
{\displaystyle U_{2}={\begin{bmatrix}b_{1}\,/\,|b_{1}|\\\vdots \\b_{r}\,/\,|b_{r}|\\c_{1}\\\vdots \\c_{n-r}\end{bmatrix}}}
と定義すれば、
U
2
{\displaystyle U_{2}}
はユニタリ行列になる。
B
U
2
∗
=
U
1
A
U
2
∗
=
[
|
b
1
|
⋯
0
⋯
0
⋮
⋱
⋮
⋮
0
⋯
|
b
r
|
0
⋯
0
0
⋯
0
0
⋯
0
⋮
⋮
⋱
⋮
0
⋯
0
⋯
0
]
{\displaystyle B{U_{2}}^{*}=U_{1}A{U_{2}}^{*}={\begin{bmatrix}|b_{1}|&\cdots &0&&\cdots &0\\\vdots &\ddots &\vdots &&&\vdots \\0&\cdots &|b_{r}|&0&\cdots &0\\0&\cdots &0&0&\cdots &0\\\vdots &&\vdots &&\ddots &\vdots \\0&\cdots &0&&\cdots &0\end{bmatrix}}}
であるから、
B
U
2
∗
=
U
1
A
U
2
∗
{\displaystyle B{U_{2}}^{*}=U_{1}A{U_{2}}^{*}}
は実対角行列であり、これを
Λ
{\displaystyle \Lambda }
と置けば、
A
{\displaystyle A}
は、ユニタリ行列
U
1
,
U
2
{\displaystyle U_{1},\;U_{2}}
によって、
U
1
A
U
2
∗
=
Λ
{\displaystyle U_{1}A{U_{2}}^{*}=\Lambda }
と対角化できることが分かる。(2)と同様の方法で、
Λ
{\displaystyle \Lambda }
を複素対角行列とすることもできる。