common.title

Docs
Quantum Circuit
TYTAN CLOUD

QUANTUM GAMING


autoQAOA

Overview
Terms of service

Privacy policy

Contact
Research

Sign in
Sign up
common.title

エルミート行列とユニタリ行列は兄弟みたいなもの (I)

Nakata Maho

2021/11/05 03:19

2

(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 が実数でも複素数でも

exp⁡a=∑k∞akn!\exp a = \sum_k^\infty \frac{a^k}{n!}expa=∑k∞​n!ak​

が定義です。特に、複素数の場合、最も有名な関係

exp⁡iθ=cos⁡θ+isin⁡θ\exp i\theta =\cos\theta + i \sin \thetaexpiθ=cosθ+isinθ

はご存じの方が多いでしょう。

指数関数は実数や複素数の時と同じように、行列に拡張することができます。ただ単に複素数または実数aaa を行列AAA に置き換えるだけです。

exp⁡A=∑k=1∞Akk!\exp A = \sum_{k=1}^\infty \frac{A^k}{k!}expA=∑k=1∞​k!Ak​

エルミート行列に虚数単位をかけたものiHiHiH の指数関数を考えてみましょう。

exp⁡iH=∑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

と、なるため、

exp⁡iH=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 となります。

結局

exp⁡iH=U†diag(exp⁡iθ1,exp⁡iθ2,exp⁡iθ3,⋯ ,exp⁡iθ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

という風に簡単に計算することができます。

つづく

© 2025, blueqat Inc. All rights reserved