(disclaimer 数学的には雑なのでそこはご容赦)
線形代数を学ぶとエルミート行列とユニタリ行列が出てくると思います。初学者はなんやこれと思うと思うのですが、エルミート行列とユニタリ行列は
量子力学、量子コンピュータにでてくる必須の行列です。まず最初に、量子力学、量子コンピュータで頻繁に使う定義と定理を確認しておきましょう。
定義をまずはっきりさせておきます。
- エルミート行列の定義はH=H†H=H^\daggerH=H† つまり転置をとって複素共役をとるともとの行列に戻る、です。成分で書くとHij=Hji∗H_{ij}= H_{ji}^*Hij=Hji∗ となってます。*は複素共役という意味です。
- ユニタリ行列の定義はU†=U−1U^\dagger = U^{-1}U†=U−1 となってます。転置をとって複素共役をとると逆行列になる、です。したがってU†U=UU†=IU^\dagger U = UU^\dagger=IU†U=UU†=I です。
さて、正規行列についても定義を書いておきます。
- 行列AAA が正規行列とはAA†=A†AAA^\dagger = A^\dagger AAA†=A†A が成立すること
以上で定義は終わりです。
正規行列ですが、行列AAA が正規行列ならば、行列AAA をユニタリ行列で対角化ができることが知られています(実は同値)。
したがって、以下のことが分かります。
- ユニタリ行列はユニタリ行列で対角化できる。
- エルミート行列はユニタリ行列で対角化できる。
量子コンピュータの教科書には必ず、
- エルミート行列HHH は物理量に対応している。
- エルミート行列はH=U†diag(θ1,θ2,θ3,⋯ ,θn)UH = U^\dagger {\rm diag} (\theta_1, \theta_2, \theta_3, \cdots, \theta_n) UH=U†diag(θ1,θ2,θ3,⋯,θn)U ユニタリ行列で対角化できる
- 固有値θ1,θ2,θ3⋯θn\theta_1, \theta_2, \theta_3 \cdots \theta_nθ1,θ2,θ3⋯θn は必ず実数となる。物理的解釈としては、物理量は必ず実数値をとるから、です。
- 固有ベクトルはたがいに直交する(=ユニタリ行列で対角化可能なので)、物理的解釈としてはN次元複素数空間の座標系を回転させるだけで、物理量は対角的に見える、です。
実は、ユニタリ行列もユニタリ行列で対角ができるのです。今回はこれを使います。
次に行列の指数関数exp\expexp というのを考えてみましょう。皆さんは実数や複素数の時にexp(x+yi)\exp (x+yi)exp(x+yi) を考えるということをしたことがあると思います。aaa が実数でも複素数でも
expa=∑k∞akn!\exp a = \sum_k^\infty \frac{a^k}{n!}expa=∑k∞n!ak
が定義です。特に、複素数の場合、最も有名な関係
expiθ=cosθ+isinθ\exp i\theta =\cos\theta + i \sin \thetaexpiθ=cosθ+isinθ
はご存じの方が多いでしょう。
指数関数は実数や複素数の時と同じように、行列に拡張することができます。ただ単に複素数または実数aaa を行列AAA に置き換えるだけです。
expA=∑k=1∞Akk!\exp A = \sum_{k=1}^\infty \frac{A^k}{k!}expA=∑k=1∞k!Ak
エルミート行列に虚数単位をかけたものiHiHiH の指数関数を考えてみましょう。
expiH=∑k=1∞ikHkk!\exp iH = \sum_{k=1}^\infty \frac{i^kH^k}{k!}expiH=∑k=1∞k!ikHk
ikHki^k H^kikHk を考えるのはめんどくさそうですが、一歩ずつやるとそんなに大したこともありません。まず、エルミート行列はユニタリ行列で対角化可能というのを使うと、
H=U†diag(θ1,θ2,θ3,⋯ ,θn)UH = U^\dagger {\rm diag} (\theta_1, \theta_2, \theta_3, \cdots, \theta_n) UH=U†diag(θ1,θ2,θ3,⋯,θn)U、とかけますから、
iH=U†diag(iθ1,iθ2,iθ3,⋯ ,iθn)UiH = U^\dagger {\rm diag} (i\theta_1, i\theta_2, i\theta_3, \cdots, i\theta_n) UiH=U†diag(iθ1,iθ2,iθ3,⋯,iθn)U ですね。
二乗を考えると、
H2=U†diag(θ1,θ2,θ3,⋯ ,θn)UU†diag(θ1,θ2,θ3,⋯ ,θn)U=U†diag(θ12,θ22,θ32,⋯ ,θn2)UH^2 = U^\dagger {\rm diag} (\theta_1, \theta_2, \theta_3, \cdots, \theta_n) U U^\dagger {\rm diag} (\theta_1, \theta_2, \theta_3, \cdots, \theta n) U = U^\dagger {\rm diag} (\theta_1^2, \theta_2^2, \theta_3^2, \cdots, \theta_n^2) UH2=U†diag(θ1,θ2,θ3,⋯,θn)UU†diag(θ1,θ2,θ3,⋯,θn)U=U†diag(θ12,θ22,θ32,⋯,θn2)U
より
i2H2=U†diag(iθ1,iθ2,iθ3,⋯ ,iθn)UU†diag(iθ1,iθ2,iθ3,⋯ ,iθn)U=U†diag(−θ12,−θ22,−θ32,⋯ ,−θn2)Ui^2 H^2 = U^\dagger {\rm diag} (i \theta_1, i\theta_2, i\theta_3, \cdots, i\theta_n) U U^\dagger {\rm diag} (i\theta_1, i\theta_2, i\theta_3, \cdots, i\theta_n) U = U^\dagger {\rm diag} (-\theta_1^2, -\theta_2^2, -\theta_3^2, \cdots, -\theta_n^2) Ui2H2=U†diag(iθ1,iθ2,iθ3,⋯,iθn)UU†diag(iθ1,iθ2,iθ3,⋯,iθn)U=U†diag(−θ12,−θ22,−θ32,⋯,−θn2)U
と、なるため、
expiH=U†∑k=1∞ikdiag(θ1k,θ2k,θ3k,⋯ ,θnk)k!U\exp iH = U^\dagger \sum_{k=1}^\infty \frac{ i^k {\rm diag} (\theta_1^k, \theta_2^k, \theta_3^k, \cdots, \theta_n^k) }{k!} UexpiH=U†∑k=1∞k!ikdiag(θ1k,θ2k,θ3k,⋯,θnk)U となります。
結局
expiH=U†diag(expiθ1,expiθ2,expiθ3,⋯ ,expiθn)U\exp iH = U^\dagger {\rm diag} (\exp i \theta_1, \exp i\theta_2, \exp i \theta_3, \cdots, \exp i \theta_n) UexpiH=U†diag(expiθ1,expiθ2,expiθ3,⋯,expiθn)U
という風に簡単に計算することができます。
つづく