⚛️

量子コンピュータ入門#2:密度演算子(前編)

に公開

はじめに

この連載は、Caltech の授業 Ph219/CS219: Quantum Computation をもとに内容を整理しながら書いています。Lecture 1の記事はこちら( 量子コンピュータ入門#1 :9/6 すいません、まだ準備中です)。

今回はLecture 2. Density Operators です。孤立量子系の公理について触れた後、密度演算子(density operator)を導入して開放系について扱っていきます。1つの記事にすると長くなりすぎるので、前編後編に分けようと思います。線形代数の話がよく出てくるので、理解するためには大学1-2年程度の線形代数をある程度知っておくと良いです。

開放系(open systems)と孤立系(closed systems)

量子系は大きく2つに分けることができます。

  • 開放系(open quantum systems): 環境(外界)との間でエネルギーや情報のやり取りがあるような量子系。実験室や量子コンピュータなど現実に存在する系はすべて開放系に当たる。
  • 孤立系(closed quantum systems):他の系から孤立しており、外部とのエネルギーや情報のやり取りがないような系。
    (熱力学の分野では closed systems を閉鎖系と訳し、孤立系- isolated systems と区別しますが、この講義における closed systems の扱いは熱力学の閉鎖系とは異なるため、孤立系と訳しています。)

現実の世界において、対象とする系を環境から完全に孤立させ、いっさい相互作用を起こさないようにすることは不可能です。したがって、我々は必然的に開放系を扱わなければなりません。開放系Sの振る舞いを調べる際は、Sと環境系Eとを合わせた系全体、すなわち「宇宙」全体を孤立系として考えます。ここで注意すべきは我々観測者はSは観測できる一方で、Eを直接観測することはできないということです。観測対象の系Sのみを記述する際に役立つのが、今回導入する 密度演算子(density operator) になります。

孤立系の公理

開放系の議論に入る前に孤立系の数学的モデルを導入します。モデルは5つの基本的な公理から構成されています。状態の記述に関する公理、オブザーバブルに関する公理、観測に関する公理、時間発展に関する公理、そして複合系に関する公理です。講義では孤立系は数学的にはこういうものですよという紹介だったので,本記事でもその程度にとどめておきます。しばらく抽象的な話が続きますが、お付き合いください。
※本記事は基本的には有限次元のヒルベルト空間の話になります。無限次元の場合はイメージは同じですが、取り扱いが少し変わります。

状態(states)の記述

量子系における状態とはその系の完全な記述であり,知りうる情報全てを表すものです。量子系のモデルでは,状態はヒルベルト空間射線(ray) で表現します。ここでヒルベルト空間とは,無限次元を含む複素数上のベクトル空間のようなものです。イメージとしてはユークリッド空間(普通の3次元ベクトル空間)を無限次元に拡張したものになります。射線(ray)とはスカラー倍を同一視したベクトルのことです。ベクトル\bm{a}とベクトル\lambda\bm{a} (\lambda \in \mathbb{C}, \lambda \neq 0)を同じものとして扱います。イメージとしてはベクトル空間の原点から伸びる半直線(長さは気にしない)が量子系の状態ということです。スカラー倍しても同じ状態なので基本的には長さ(ノルム)が1のものを考えます。

ここで量子力学でよく使われるディラックの表記法(ブラケット記法)を紹介しておきます。この記法では量子系の状態,すなわちヒルベルト空間\mathcal{H}のベクトルを

\ket{\psi} \in \mathcal{H}

と表記します。ベクトル\ket{\psi}をケットと呼びます。また,ベクトル\ket{\phi}とベクトル\ket{\psi}の内積は,ブラ\bra{\phi}を使って
\braket{\phi|\psi} \in \mathbb{C}

と書きます。この記法の便利なところはカッコ(ブラケット)が閉じていると,ベクトルではなく複素数値であることが一目でわかることです。イメージとしては,ケット\ket{\psi}は列ベクトル,ブラ\bra{\psi}は行ベクトルに当たります。数学的にはブラ\bra{\psi}\mathcal{H}の双対空間とよばれるものの元です。

さて,量子系の状態についてまとめておきます。

  • 状態はヒルベルト空間\mathcal{H}の射線\ket{\psi}
  • 状態の内積\braket{\phi|\psi} \in \mathbb{C}は複素数になる。
  • スカラー倍は同一視。\ket{\psi} \equiv \lambda\ket{\psi}(\lambda \in \mathbb{C}, \lambda \neq 0)
  • 基本的には長さ1を考える。\| \ket{\psi} \| = \sqrt{\braket{\psi|\psi}} = 1

オブザーバブル(observables)

オブザーバブルとは系において測定可能な物理量を表すものです。例えば、位置、運動量、角運動量、エネルギーなどが典型的なオブザーバブルです。量子力学ではオブザーバブルは自己随伴演算子(self-adjoint operator)(自己共役ということも多い)として数学的に表現されます。

簡単に自己随伴演算子について説明しておきます。まず、ヒルベルト空間\mathcal{H}上の線形演算子A: \mathcal{H} \rightarrow \mathcal{H}に対して、Aの随伴A^{\dagger}: \mathcal{H} \rightarrow \mathcal{H}は次を満たす線形演算子です。

\bra{\phi}A\ket{\psi} = \braket{A^{\dagger}\phi|\psi}
.
ここで\ket{A\psi}=A\ket{\psi}と表記しています。A=A^{\dagger}、つまり\bra{\phi}A\ket{\psi} = \braket{A\phi|\psi}のとき、Aは自己随伴であるといいます。自己随伴演算子は固有値分解(対角化)することができます。a_nAの固有値とし、E_nを固有値a_nに対する固有ベクトルの張る空間(固有空間)への射影とします。このとき、Aa_nE_nを用いて
A = \sum_{n} a_n E_n

と表現できます。ディラックの表記法ではベクトル\ket{\phi}の張る空間への射影を\ket{\phi}\bra{\phi}と書きます。\ket{\phi}\bra{\phi}をベクトルに左から作用させることで\ket{\phi}に関わる成分を内積で取り出して、\ket{\phi}に掛けてやるイメージです。それを用いると
A = \sum_{n} a_n \ket{n}\bra{n}

と書くこともできます。\{\ket{n}\}は固有空間の正規直交基底で、それぞれa_nに対応する固有ベクトルです。また、自己随伴演算子の固有値a_nはかならず実数になります。

いろいろと抽象的な話をしましたが、オブザーバブルAエルミート行列だと思っていただいて問題ないと思います。線形演算子は行列、随伴演算子は随伴行列、自己随伴演算子はエルミート行列に対応します。エルミート行列は固有値が実数で対角化可能です。固有値が実数であることと対角化可能であることは重要な性質であり、次に話す測定に大きく関わってきます。

まとめると、

  • オブザーバブルは観測可能な物理量
  • オブザーバブルは自己随伴演算子であり、固有値が実数で固有値分解できる。

測定(measurement)

測定とは観測者が物理系の状態に関する情報を取得するプロセスのことで、位置や運動量といった物理量の値を測ることです。量子系においては物理量はオブザーバブルAで表されます。オブザーバブルAに関して測定を行うと、Aの固有値a_nが確率的に得られます。量子状態\ket{\psi}を測定したとすると、測定結果a_nが得られる確率は

\operatorname{Prob}\left(a_n\right)=\| E_n \ket{\psi} \|^2=\bra{\psi} E_n\ket{\psi}

で与えられます。測定結果がa_nであったとき、測定直後の量子状態は
\frac{E_n\ket{\psi}}{\|E_n \ket{\psi} \|}

となります。状態を固有状態に射影するので、この測定の方法をとくに射影測定と呼びます。オブザーバブルAを測定した際の期待値\langle A\rangleは次の式で求めることができます。
\langle A\rangle= \sum_n a_n \operatorname{Prob}\left(a_n\right)=\sum_n a_n\bra{\psi}E_n\ket{\psi}=\bra{\psi}A\ket{\psi}

オブザーバブルの紹介をしたときに、固有値が実数であることと対角化できることが大切であるといいました。まず固有値が実数であることは測定結果が必ず実数であることを保証するために必要です。現実で観測される物理量が実数であるからです。また、対角化可能であることから、その固有ベクトルからなる正規直交基底をとることができます。これにより任意の量子状態はその基底の線形結合(重ね合わせ)として表せます。さらに測定を行った際には、測定結果に対応する固有ベクトル(あるいは固有空間)への直交射影として状態が収縮する、と解釈でき都合が良いのです。

時間発展

量子力学では、粒子や系の状態は状態で表されますが、この状態が時間とともにどのように変化するのか――それが時間発展です。時間発展の基本ルールはシュレーディンガー方程式(Schrödinger equation) で決まります。

i \hbar \frac{d}{d t}|\psi(t)\rangle=H|\psi(t)\rangle

ここでHハミルトニアン(Hamiltonian) と呼ばれる自己随伴演算子です。ハミルトニアンは、系の全エネルギーを表します。シュレディンガー方程式を解くと、状態の時間発展は
|\psi(t)\rangle=U\left(t, t_0\right)\left|\psi\left(t_0\right)\right\rangle

と表せます。ここでU\left(t, t_0\right)は時間発展演算子と呼ばれ、ユニタリ―演算子になります。

複合系

二つの量子系ABが存在し、Aのヒルベルト空間が\mathcal{H}_ABのヒルベルト空間が\mathcal{H}_Bであったとします。このときABの複合系ABのヒルベルト空間は\mathcal{H}_A\mathcal{H}_Bのテンソル積\mathcal{H}_A \otimes \mathcal{H}_B となります。もし系Aの状態が\ket{\psi}_Aであり、系Bの状態が\ket{\phi}_Bであったとすると、複合系の状態はそのテンソル積\ket{\psi}_A \otimes \ket{\phi}_Bと記述されます。

テンソル積について簡単に説明します。ヒルベルト空間\mathcal{H}_Aの正規直交基底を\{\ket{i}_A\}\mathcal{H}_Bの正規直交基底を\{\ket{\mu}_B\}と書くことにします。このとき、\ket{i,\mu}_{AB} \equiv \ket{i}_A \otimes \ket{\mu}_B\mathcal{H}_A \otimes \mathcal{H}_Bの基底となり、\mathcal{H}_A \otimes \mathcal{H}_B上の内積は次のように定義されます。

{ }_{A B}\langle i, \mu \mid j, \nu\rangle_{A B}=\delta_{i j} \delta_{\mu \nu}

演算子のテンソル積も考えられます。系Aの演算子M_Aと系Bの演算子N_Bのテンソル積M_A \otimes N_Bは、基底\ket{i,\mu}_{AB}に対して次のように作用します。
M_A \otimes N_B |i, \mu\rangle_{A B}=M_A |i\rangle_A \otimes N_B |\mu\rangle_B=\sum_{j, \nu} |j, \nu\rangle_{A B}\left(M_A\right)_{j i}\left(N_B\right)_{\nu \mu}

Qubit

さて、導入した公理をもとにqubitを定義しましょう。2次元のヒルベルト空間\mathcal{H}を考えます。その正規直交基底を\{\ket{0},\ket{1}\}と書くことにします。すると正規化された状態は

\ket{\psi} = a \ket{0} + b \ket{1}

と表現できます。ここでa,b|a|^2 + |b|^2 = 1を満たす複素数です。このような状態をとる2次元ヒルベルト空間で記述される量子系のことをqubitと呼びます。

\mathcal{H}上の線形演算子は2 \times 2行列で表現されます。2 \times 2行列は次の4つの行列を基底に持ち、任意の行列はこれらの線形和となります。

I = \begin{pmatrix} 1 & 0 \\ 0 & 1 \\ \end{pmatrix}, \sigma_1 = \begin{pmatrix} 0 & 1 \\ 1 & 0 \\ \end{pmatrix}, \sigma_2 = \begin{pmatrix} 0 & -i \\ i & 0 \\ \end{pmatrix}, \sigma_3 = \begin{pmatrix} 1 & 0 \\ 0 & -1 \\ \end{pmatrix}

Iは単位行列で、\sigma_1,\sigma_2,\sigma_3はパウリ行列と呼ばれます。これらは {I, X, Y, Z}とも表記されます。

qubit の測定も公理に従って扱います。もっとも基本的な測定は\sigma_3による測定です。\sigma_3の固有ベクトルは\ket{0},\ket{1}の2つなので、\ket{\psi} = a \ket{0} + b \ket{1}に対し\sigma_3で測定を行うと、

  • \ket{0}状態を観測する確率:\operatorname{Prob}(|0\rangle)=|a|^2
  • \ket{1}状態を観測する確率:\operatorname{Prob}(|1\rangle)=|b|^2

となります。

Qubitとコインの違い

さて、ここまでqubitの数学的なモデルのお話をしてきましたが、qubitはコインとは異なるのでしょうか?コインも投げると確率的に表が裏かが決まるという点で同じもののように思われます。しかし、これらには明確な違いがあります。
例えば、量子状態\ket{\psi} = a\ket{0} + b\ket{1}を考えます。\sigma_3基底\{\ket{0}, \ket{1}\}で測定すれば、確率|a|^2\ket{0}、確率|b|^2\ket{1}を観測します。ここまでは確率|a|^2で表、確率|b|^2で裏を出すコインと同様です。ただ、状態\ket{\psi}\sigma_3以外の基底、例えば\sigma_1で測定することができます。そうすると観測結果は異なる確率分布を示すことになります。\sigma_2で測定すれば、また異なる確率分布に従って結果が得られます。実際の物理系でいうと、電子のスピンや光子の偏光を3次元のどの軸X,Y,Zで測るかによって結果が変わるということでに対応します。これは、表か裏かという一通りでしか測定できないコインとの明確に異なります。
この「測定基底の選択自由度」こそが、量子コンピュータの計算能力の源泉となる重要な性質なのです。

ブロッホ球(Bloch Sphere)

量子ビットには、量子状態をより直感的に理解するためのブロッホ球面(Bloch sphere)という幾何学的表現があります。まずは量子状態の表記を整理しましょう。任意の量子ビット状態は以下の形で与えられます:

|\psi\rangle = a|0\rangle + b|1\rangle

ここで、abは複素数で、正規化条件|a|^2 + |b|^2 = 1を満たします。a = |a|e^{i\alpha}, b = |b|e^{i\beta}と表すことにします。すると、

|\psi\rangle = e^{i\alpha}(|a||0\rangle + |b|e^{i(\beta-\alpha)}|1\rangle)

と表せます。量子状態はグローバル位相e^{i\alpha}に依存しないので(スカラー倍は同一視)、
|\psi\rangle = |a||0\rangle + |b|e^{i(\beta-\alpha)}|1\rangle

となります。さて、正規化条件|a|^2 + |b|^2 = 1から、|a| = \cos(\theta/2)|b| = \sin(\theta/2)と置くことができます。|a|,|b|\geq 0より\theta \in [0,\pi]です。これにより

\begin{aligned} |\psi\rangle &= \cos(\theta/2)|0\rangle + \sin(\theta/2)e^{i(\beta-\alpha)}|1\rangle \\ &= \cos(\theta/2)|0\rangle + e^{i\phi}\sin(\theta/2)|1\rangle \quad (\theta \in [0,\pi], \phi \in [0, 2\pi)) \end{aligned}

と表せます。ここで、\phi = \beta-\alphaと置きました。よって、任意の状態は\theta, \phiを用いて、

|\psi(\theta, \phi)\rangle = \cos(\theta/2) |0\rangle + e^{i\phi} \sin(\theta/2) |1\rangle

と表記されます。

さて同じ\theta \in [0,\pi], \phi \in [0, 2\pi)を用いると、3次元空間の単位ベクトル\hat{n}を次のように表現できます:

\hat{n} = (\sin\theta\cos\phi, \sin\theta\sin\phi, \cos\theta)

ここで演算子\hat{n} \cdot \vec{\sigma} = n_1\sigma_1 + n_2\sigma_2 + n_3\sigma_3による測定を考えてみます。実は演算子\hat{n} \cdot \vec{\sigma}の固有ベクトルの一つは|\psi(\theta, \phi)\rangleです。実際に

\hat{n} \cdot \vec{\sigma} |\psi(\theta,\phi)\rangle = |\psi(\theta,\phi)\rangle

であることを計算により確かめられます。したがって、\hat{n}の軸に沿って|\psi(\theta, \phi)\rangleを測定すると常に固有値1が得られ、測定後の状態は|\psi(\theta, \phi)\rangleです。このように\hat{n}の軸に沿った測定と状態|\psi(\theta, \phi)\rangleは対応しています。

以上の議論より、量子状態|\psi(\theta, \phi)\rangleは3次元の単位ベクトル\hat{n}には対応関係があることがわかりました。したがって、量子状態を3次元の球面上の点として視覚化することにします。これがブロッホ球による表現です。ブロッホ球を用いると、現在の状態がどの軸\hat{n}に対応する基底なのかを簡単にイメージすることができます。

ブロッホ球
出典: Ph219 Lecture 2 Slides

量子状態|\psi(\theta,\phi)\rangleにおける各パウリ演算子の期待値は、ブロッホベクトルの成分と一致します。

\langle\sigma_1\rangle = \sin\theta\cos\phi
\langle\sigma_2\rangle = \sin\theta\sin\phi
\langle\sigma_3\rangle = \cos\theta

同一の状態で準備された多数の量子ビットがあれば、十分に測定を行うことで3つの観測量\langle\sigma_1\rangle\langle\sigma_2\rangle\langle\sigma_3\rangleの値から、\theta\phiを一意に決定することができます。

おわりに

本記事では孤立系のモデルとqubitについて扱ってきました。後編ではいよいよ密度演算子を導入し、開放系について扱っていきます。

参考文献

Discussion