量子コンピュータの基本 - 異なる固有値に対する固有ベクトルは直交することの確認
§ この記事の目的
量子コンピュータ理論の基本、または線形代数の基本である公理「異なる固有値に対する固有ベクトルは直交する」ことについて、具体的に確認します。
なお、本記事の前に以下の記事を見て頂くとスムーズに読み進めることができます。
■量子コンピュータの基本 - エルミート行列の固有値が実数であることの確認
https://qiita.com/ttabata/items/26bd49f0ab526c0f6cd0
§ 命題「異なる固有値に対する固有ベクトルは直交する」の確認
では、さっそく数式を用いて確認します。
行列Aをエルミート行列、異なる2つの固有値(スカラー値)を\lambda_1,\lambda_2、異なる2つの固有値に対する列ベクトル(固有ベクトル)をそれぞれX_1,X_2とすると、固有値・固有ベクトルの関係から、以下のように表すことができます。
AX_1=\lambda_1X_1\quad(式1)\\
AX_2=\lambda_2X_2\quad(式2)
ここでは説明を易しくするために固有値を2つの場合に限定します。
以下が自明の条件です。
\lambda_1\ne\lambda_2\quad(式3)
(式1)
\begin{align}
X_2^\dagger AX_1&=X_2^\dagger \lambda_1X_1\\
&=\lambda_1X_2^\dagger X_1\quad(式4)
\end{align}
同様に、(式2)に左からX_1のエルミート行列であるX_1^\daggerをかけると、
\begin{align}
X_1^\dagger AX_2&=X_1^\dagger \lambda_2X_2\\
&=\lambda_2X_1^\dagger X_2\quad(式5)
\end{align}
(式5)
(X_1^\dagger AX_2)^\dagger = (\lambda_2X_1^\dagger X_2)^\dagger\\
X_2^\dagger A^\dagger (X_1^\dagger)^\dagger = \lambda_2^*X_2^\dagger (X_1^\dagger)^\dagger\\
X_2^\dagger A^\dagger X_1 = \lambda_2^*X_2^\dagger X_1
行列Aはエルミート行列であるから、A^\dagger = Aです。また、エルミート行列に対する固有値は実数なので、\lambda_2^*=\lambda_2です。これらを代入すると、
X_2^\dagger AX_1 = \lambda_2X_2^\dagger X_1\quad(式6)
改めて(式4)と(式6)を並べてみると以下となります。
X_2^\dagger AX_1=\lambda_1X_2^\dagger X_1\quad(式4)\\
X_2^\dagger AX_1 = \lambda_2X_2^\dagger X_1\quad(式6)
上記の2式を引き算すると、
0=(\lambda_1-\lambda_2)X_2^\dagger X_1
ここで、(式3)より\lambda_1-\lambda_2\ne0のため、上式が成立するには、
X_2^\dagger X_1 = 0\quad(式7)
となります。
(式7)は複素空間におけるベクトルX_1とベクトルX_2の内積を意味します。つまり、
内積が0なので、2つのベクトルX_1,X_2は直交することがわかります。
このことから、命題「異なる固有値に対する固有ベクトルは直交する」は真である(正しい)と言えます。