雑記: コレスキー分解の一意性の証明

2022-04-02 加筆しました。
2022-04-03 加筆しました。

参考文献

  1. linear algebra - How to prove the existence and uniqueness of Cholesky decomposition? - Mathematics Stack Exchange. https://math.stackexchange.com/questions/2509810/how-to-prove-the-existence-and-uniqueness-of-cholesky-decomposition(参照日 2022年4月1日).
    • コレスキー分解がただ一つ存在することはどう示すのかという質問であり、ベストアンサーの証明がわかりやすくて短い。本記事はこの証明に細かい加筆をしているだけである。加筆をしてみると割と三角行列の性質などを前提とするが確認は難しくない。
  2. Definite matrix - Wikipedia. https://en.wikipedia.org/wiki/Definite_matrix(参照日 2022年4月2日).
    • 行列が正定値といったときの定義は各所にあるが Wikipedia に倣う。色々な定義をすべて同値といって列挙する文献もある。文献によっては行列が正定値であるとはコレスキー分解できることなどとされている場合もあり、そう定義するとこの記事は始まる前から終わる。
  3. LA-6 正定値行列. https://www.comp.tmu.ac.jp/kzmurota/lect-optimfinance/shiryoOPEN/FinL06posdefinite20.pdf(参照日 2022年4月2日).
    • n 次正方行列において、行番号と列番号の集合がともに同じ k 個の番号 i_1 < i_2 < \cdots < i_k に対応する小行列を、k 次主小行列という」。特に i_1=1, i_2=2, \cdots, i_k=k のときは k 次首座小行列という。つまり左上 k \times k ブロックのことを k 次首座小行列という。知らなかったので今日からつかう。
  4. 上三角行列/下三角行列の性質 (証明付) - 理数アラカルト -. https://risalc.info/src/triangular-matrix.html(参照日 2022年4月2日).
    • 上三角行列の行列式は対角成分の積に等しい。
    • 下三角行列どうしの積も下三角行列であり対角成分が個々の下三角行列の対角成分の積に等しい。
    • 下三角行列の逆行列の対角成分は元の下三角行列の対角成分に等しい。


コレスキー分解の一意性を示したい。いま示したいことをきちんとかくと以下である。
命題.
n を正整数とする。正定値実対称行列 A \in \mathbb{R}^{n \times n} に対して、A = L L^\top を満たす対角成分が正の実下三角行列 L がただ一つ存在する。

ただし A \in \mathbb{R}^{n \times n} が正定値とは任意の x \in \mathbb{R}^n  \setminus \{\vec{0}\} に対して x^\top A x > 0 が成り立つことをいうものとする。以下に証明を示すがこの証明の中で以下の補題たちを断りなくつかっている。

  • A \in \mathbb{R}^{n \times n} が正定値ならば A の任意の主小行列は正定値である。以下の証明でつかう n-1 首座小行列についてだけ示すと、A = \begin{pmatrix}B  & a \\b^\top & \alpha\end{pmatrix} が正定値であるならば、任意の \begin{pmatrix} y \\ z \end{pmatrix} \in \mathbb{R}^n  \setminus \{\vec{0}\} に対して y^\top B y + y^\top a z + z b^\top y + \alpha z^2 > 0 が成り立つので、z = 0 の場合に注目すると任意の y \in \mathbb{R}^{n-1}  \setminus \{\vec{0}\} に対して y^\top B y > 0 が成り立っており、B も正定値である。
  • B \in \mathbb{R}^{n \times n} が正定値行列で P \in \mathbb{R}^{n \times n} が正則行列ならば C = P B P^\top も正定値行列である。任意の y \in \mathbb{R}^n  \setminus \{\vec{0}\} に対して y^\top C y = y^\top P B P^\top y > 0 が成り立つか確認する。B は正定値なので P^\top y = 0 でさえなければ y^\top P B P^\top y > 0 は成り立つ。P は正則なので y \neq \vec{0} に対し P^\top y = 0 になることはない。
  • 対角成分が正の実下(上)三角行列は正則行列である。行列式が正になる [4] ことからわかる。
  • 下三角行列どうしの積も下三角行列であり対角成分が個々の下三角行列の対角成分の積に等しい [4]。
  • 下三角行列の逆行列の対角成分は元の下三角行列の対角成分に等しい [4]。
証明.

数学的帰納法により示す。

n=1 のとき、A = ( \alpha ) とすると、A が正定値であることから任意の x \in \mathbb{R}  \setminus \{0\} に対して \alpha x^2 > 0 でなければならず \alpha > 0 である。よって \alpha の平方根は実数であり、A = ( \sqrt{\alpha} )( \sqrt{\alpha} ) とかける。

n>1 のとき、An-1 次首座小行列を B として A = \begin{pmatrix}B  & a \\a^\top & \alpha\end{pmatrix} と区分けする。このとき B もまた正定値実対称行列である。いま、B = L_B L_B^\top を満たす対角成分が正の実下三角行列 L_B が存在すると仮定すると、A は以下のように実下三角行列とその転置行列で挟む操作を 2 回適用して対角化できる。なお、転置行列の逆行列(=逆行列の転置行列)を L_B^{-\top} と表記する。

 \begin{pmatrix} L_{B}^{-1}  & 0 \\ 0 & 1 \end{pmatrix} \begin{pmatrix} B  & a \\ a^\top & \alpha \end{pmatrix} \begin{pmatrix} L_{B}^{-\top}  & 0 \\ 0 & 1 \end{pmatrix} = \begin{pmatrix}
I_{n-1}  & L_{B}^{-1} a \\ a^\top L_{B}^{-\top} & \alpha \end{pmatrix} \equiv \begin{pmatrix} I_{n-1}  & b \\ b^\top & \alpha \end{pmatrix}

\begin{pmatrix} I_{n-1}  & 0 \\  -b^{\top} & 1 \end{pmatrix} \begin{pmatrix} I_{n-1} & b \\ b^\top & \alpha \end{pmatrix} \begin{pmatrix} I_{n-1}  & -b \\ 0 & 1 \end{pmatrix} = \begin{pmatrix} I_{n-1}  & 0 \\ 0 & \alpha - b^\top b \end{pmatrix} \equiv \begin{pmatrix} I_{n-1}  & 0 \\ 0 & \lambda \end{pmatrix}

なお、この 2 回の操作は正定値性を保存するので \begin{pmatrix}I_{n-1}  & 0 \\ 0 & \lambda \end{pmatrix} もまた正定値行列であり、よって \lambda > 0 であるので \begin{pmatrix}I_{n-1}  & 0 \\ 0 & \lambda \end{pmatrix}\begin{pmatrix}I_{n-1}  & 0 \\ 0 & \sqrt{\lambda} \end{pmatrix}\begin{pmatrix}I_{n-1}  & 0 \\ 0 & \sqrt{\lambda} \end{pmatrix} と分解できることに注意する。
したがって、A を対角化したときと逆向きに対角行列を変換して A をつくることで、
\begin{align} A = \begin{pmatrix}B & a \\a^\top & \alpha\end{pmatrix} &= \begin{pmatrix} L_{B} & 0 \\ 0 & 1 \end{pmatrix} \begin{pmatrix} I_{n-1} & 0 \\ b^{\top} & 1 \end{pmatrix} \begin{pmatrix} I_{n-1} & 0 \\ 0 & \sqrt{\lambda} \end{pmatrix} \begin{pmatrix} I_{n-1} & 0 \\ 0 & \sqrt{\lambda} \end{pmatrix} \begin{pmatrix} I_{n-1} & b \\ 0 & 1 \end{pmatrix} \begin{pmatrix} L_{B}^{\top} & 0 \\ 0 & 1 \end{pmatrix} \\ &= \begin{pmatrix} L_{B} & 0 \\ b^{\top} & \sqrt{\lambda} \end{pmatrix} \begin{pmatrix} L_{B}^\top & b \\ 0 & \sqrt{\lambda} \end{pmatrix} \end{align}

とかけるので、A = L L^\top を満たす対角成分が正の実下三角行列 L = \begin{pmatrix}L_{B}  & 0 \\ b^\top & \sqrt{\lambda} \end{pmatrix} が存在する。

次に L の一意性を示す(まだ別の手続きで別の実下三角行列 M が求まる可能性が排除されていない)
別の手続きで A = M M^\top を満たす対角成分が正の実下三角行列 M も求まったとする。このとき、I_n = L^{-1} A L^{-\top} = L^{-1} M M^\top L^{-\top} = (L^{-1} M)(L^{-1} M)^\top より (L^{-1} M)^{-1} = (L^{-1} M)^{-\top} である。
他方、L^{-1}M も下三角行列なので L^{-1} M は下三角行列であり、この逆行列も下三角行列である。
したがって L^{-1} M は対角行列に他ならない。
よって I_n = (L^{-1} M)^2 であることから L^{-1} M の対角成分は \pm 1 のどちらかとなるが、いま L^{-1}M も対角成分が正なので、L^{-1} M の対角成分は個々の対角成分の積であることからすべて +1 でなければならない。なので結局 L^{-1}M = I_n  \Rightarrow L=M である。

以上より、正定値実対称行列 A \in \mathbb{R}^{n \times n} に対して A = L L^\top を満たす対角成分が正の実下三角行列 L がただ一つ存在する。