量子情報の基礎+量子統計推測の基礎の基礎
この記事は物工/計数 Advent Calendar 2020の16日目のものです。これまでの記事は以下のリンクからご覧ください。 物工/計数 Advent Calendar 2020
はじめに
初めましての人は初めまして。計数工学科B3のまさよしです。16日目の記事は流行りの?量子情報理論についてです。まだまだ勉強中であまり高度なことはわからないので、量子情報の基礎の基礎をお送りします。もともと量子競技プログラミングについて書こうと思っていましたが、やめてしまいました。その名残が例題として残っています。初学者なので間違いも多いと思いますのでご指摘お願いします。
量子情報理論では、状態、測定、時間発展という三つが大きな柱となります。 そこで、記事の流れとしてはまず通常の量子力学の授業で導入されるような形でそれらを導入し、そのあとで一般的な形を与えます。最後に応用として量子統計推測の基本を話します。 前提知識は教養の線形代数と量子論 の基礎です*1。
今回は量子アルゴリズムには触れません。Shorのアルゴリズムについては昔かいたショアのアルゴリズムって何?量子コンピュータだと多項式時間で素因数分解できるってホント?調べてみた!を読んでもらえると嬉しいです。
基本的な状態、測定、時間発展
通常の量子力学の授業(応物2Aの量子力学第一*2など)に則って、状態と物理量を導入します。
スピン系を例にとって考えてみましょう。
物理量が与えられればその測定値が気になります。そこで測定を以下のように導入します。
射影演算子は$\sum_a P_a = I$を満たすので、きちんと規格化されていることがわかると思います。また半正定値なので、確率の非負性も満たします。これらの条件はあとで一般的な測定を導入するときにも重要になります。測定を定義したところで、状態と測定について補足をしておきます。操作論的観点から言えば、どんな測定でも区別できない2つの状態や、どんな状態に対しても同じ確率分布にしたがって値を返す2つの測定を区別することに意味はありません。そこで、そうした状態や測定は同一視することを約束しておきましょう。
さて、次は時間発展です。シュレディンガー方程式を導入します。
量子系の時間発展は基本的にこのシュレディンガー方程式に従うことになります。 この微分方程式を形式的に解くと、$$ \begin{align} \ket{\psi(t)} &= U(t)\ket{\psi(0)}\\ &=\exp(-iH t)\ket{\psi(0)} \end{align} $$
となります。$U(t) = \exp(-iHt)$はユニタリになっています。 簡単のために時間のことは忘れて時間発展を始状態から終状態への写像だと思うと、$U(t)$だけを考えればいいことがわかります。さらに以下のような大胆な仮定を置きます。
やはりスピン系の例を用いて考えてみましょう
以上が基本的な量子力学の復習でした。
まとめ
実は上に上げてあるのはあくまで十分条件でしかありません。実は補助的な系を考えることにより、さらに一般的な測定や時間発展が可能です。それに関して次節から説明していきます。
一般的な状態
前節で状態はヒルベルト空間上の単位ベクトルで表されると述べました。しかしそれだけで十分でしょうか?量子情報理論では多くの確率を扱います。そこで、上で述べた意味での状態を確率的に用意したような状態を考えます。このような状態を混合状態と呼びます。これと区別するために、以前に述べた意味での状態を純粋状態と呼ぶこともあります。
では、混合状態と純粋状態を統一的に表す記法はないものでしょうか?ここで密度行列を導入します。
実はこの記法を使うと、上で述べた操作論的な視点で同一視される状態が同じ表現を得ることになり、嬉しいです(詳細は省略します)。また、実は密度演算子は$\mathrm{Tr} \rho = 1, \rho\geq 0$によって特徴付けられることもわかります(これも詳細は省略します)。
まとめ
- 一般的な状態は密度演算子で表される。
一般的な測定
流れとしては、まず測定として最低限成り立たなくてはならない条件を提示します。次にそれがただの必要条件ではなく十分条件であることを示します。
測定が備えるべき必要条件とはなんでしょうか?混合状態$\rho_{mix} = q\rho1+(1-q)\rho2$に対して測定を行ったとしましょう。この時以下のようなアフィン性が成り立つと必要があります。
$$ \begin{align} P(a|\rho_{mix})&=qP(a|\rho_1)+(1-q)P(a|\rho_2) \end{align} $$
さて、最初の方で述べた射影測定を思い出してみましょう。射影測定は$\sum P_a = I$を満たす射影演算子の組によって表され、純粋状態$\ket \psi$に対して測定値$a$が観測される確率は
$$ \begin{align} P(A = a|\ket \psi)&=\bra \psi P_a \ket \psi\\ &=\mathrm{Tr}P_a\ket \psi \bra \psi\\ &=\mathrm{Tr}P_a\rho_\psi \end{align} $$
と密度行列と射影演算子の積のトレースとして表されることがわかります。 一般の測定についても、測定が密度行列から実数値へのアフィン写像で特徴付けられるということから、適当な行列と密度行列の積のトレースを取るという表現が可能であることがわかります。そこでそのような行列の組を${E_m}$とおきます。確率の非負性と規格化条件から
$$ \begin{align} E_m & \geq 0\\ \sum E_m &= I \end{align} $$
を満たさなくてはいけないことも簡単にわかります。 これは射影行列の組${P_a}$の拡張になっていることがわかると思います。 今、任意の測定が上のような表現を持つことがわかりました。逆に、上の条件(半正定値性、規格化条件)を満たす線形演算子の組み(これをPOVMと呼びます)に対応する測定は実現可能なのでしょうか?答えはYesです。補助系(ancilla)を用いることで、任意のPOVMで表される測定(これをPOVM測定と呼びます)が実現可能であることを示します。以下の証明は参考文献1によります。
ここまで一般的な測定がPOVM測定であることを見てきましが、何が嬉しいのかあんまりわからない人も多いのではないでしょうか?(僕はそうでした)。そこで、例題を用いて考えてみましょう。
これはcodeforces上で行われた量子競技プログラミングの問題からとってきました。量子競プロに関しては今回は触れませんが結構面白いので色々調べてみてください。さて、これら三状態は直交していないので完全に区別することはできません。そこで、どの状態でないかを答えるわけですが、通常の射影測定では、直交した軸への射影しかできないので、それもできません。ここでPOVM測定の出番となるわけです。各状態を密度行列で表すと、以下の通りです。
$$ \begin{align} \rho_A &=\frac{1}{2}\left( \begin{array}{cc} 1 & 1 \\ 1 & 1 \end{array} \right)\\ \rho_B &=\frac{1}{2}\left( \begin{array}{cc} 1 & \bar\omega \\ \omega & 1 \end{array} \right)\\ \rho_C &=\frac{1}{2}\left( \begin{array}{cc} 1 & \bar\omega ^2 \\ \omega ^2 & 1 \end{array} \right)\\ \end{align} $$
POVMを${E_A, E_B, E_C}$とすると、$P(A|\rho_A) = 0$などとなるために、$\mathrm{Tr}{E_X\rho_X} = 0$(直交条件)である必要があります。天下り的ですが、
$$ \begin{align} E_A =\frac{1}{3}\left( \begin{array}{cc} 1 & -1 \\ -1 & 1 \end{array} \right)\\ E_B =\frac{1}{3}\left( \begin{array}{cc} 1 & -\bar\omega \\ -\omega & 1 \end{array} \right)\\ E_C = \frac{1}{3}\left( \begin{array}{cc} 1 & -\bar\omega ^2 \\ -\omega ^2 & 1 \end{array} \right) \end{align} $$
はPOVMで、直交性の条件を満たします。このPOVMから以前述べた手順でユニタリ変換を構成し、qiskit(Pythonの量子計算ライブラリ)で実装した結果を以下に示します。
上の画像は入力がAの場合ですが、観測結果はBまたはCとなっており、正しい結果が返っているのがわかりますね。とは言えこれはユニタリ変換をそのまま使っているので、実際には基本的なゲートに直してやる必要があります。$8\times 8$行列を考えるのは大変なのでコンテストのeditorialでは補助ビットを1つだけ使って測定を構成する方法が示されています。ここでは証明でのユニタリ変換の構成の仕方に揃えるため、あえて実際的には大変な方法を用いました。
まとめ
- 一般的な測定はPOVMで表される。
量子統計推測
少し応用として量子統計推測を考えてみます。最も簡単な設定として以下のような問題を考えます。
状態の識別には結果は二種類で十分なので、$0\leq T\leq I$なる$T$を用いたPOVM$\{T, I-T\}$を考えることになります(今回は$T$に対応する測定結果が出た時、$\rho$だと判定し、$I-T$に対応する結果が出た時、$\sigma$だと判定することにします)。さて、もちろん様々は測定法があるわけですが、どのような評価基準を設ければいいでしょうか?
もし本当の状態が$\rho$であるとしましょう。この時、誤って$\sigma$と判定してしまう確率は$\mathrm{Tr}\rho(I-T)$です。逆に本当の状態が$\sigma$である時謝って$\rho$だと判定してしまう確率は$\mathrm{Tr}\sigma T$となります。ここではこれらを適当な実数$c>0$ で重みづけた$\mathrm{Tr}\rho(I-T)+c\mathrm{Tr}\sigma T$を最小化することを目標にします。この重みは事前確率だと考えてもいいでしょう。
$$ \mathrm{Tr}\rho(I-T)+c\mathrm{Tr}\sigma T = 1+\mathrm{Tr}(c\sigma-\rho)T $$
より、$\mathrm{Tr}(c\sigma-\rho)T$を最小化すればいいです。
$c\sigma-\rho$が$\sum\lambda_i\ket{u_i}\bra{u_i}$と対角化されるとすると、$0\leq T\leq I$より、
$$ \begin{align} \mathrm{Tr}(c\sigma-\rho)T &= \sum\lambda_i\bra{u_i}T\ket{u_i}\\ 0 &\leq \bra{u_i}T\ket{u_i}\leq 1\\ \therefore\mathrm{Tr}(c\sigma-\rho)T &\geq \sum_{\lambda_i<0}\lambda_i \end{align} $$
等号は$T^* = \sum_{\lambda_i<0}\ket{u_i}\bra{u_i}$のとき成立します。
以上から、
$$ \begin{align} \mathrm{min}{T}\mathrm{Tr}\rho(I-T)+c\mathrm{Tr}\sigma T = 1+\sum{\lambda_i<0}\lambda_i\\ \end{align} $$
(上の式がうまく表示できてなかったらごめんなさい。全部はてなブログのせいです。)
さて、例題です。
与えられる状態の密度行列はそれぞれ、
$$ \begin{align} \rho_0 &=\left( \begin{array}{cc} 1 & 0 \\ 0 & 0 \end{array} \right)\\ \rho_+ &=\frac{1}{2}\left( \begin{array}{cc} 1 & 1 \\ 1 & 1 \end{array} \right) \end{align} $$
です。POVM${T, I-T}$に対して、判定に失敗する確率は一般論のところで述べたように
$$ \frac{1}{2}\left(\mathrm{Tr}\rho(I-T)+c\mathrm{Tr}\sigma T\right) $$
となります(等確率なので$c = 1$のケースに相当します)。
$$ \rho_0-\rho_+ =\frac{1}{2}\left( \begin{array}{cc} 1 & -1 \\ -1 & -1 \end{array} \right) $$
ですから、その固有値は$\lambda_1 = 1/\sqrt 2, \lambda_2 = -1/\sqrt 2$です。よって、最小の誤り確率は$\frac{1}{2}-\frac{1}{2\sqrt 2}$であることが一般論からわかります。逆に最大の正答率は$\frac{1}{2}+\frac{1}{2\sqrt 2}$です。
測定方法も一般論に従って計算しても良いのですが、今回はeditorialに従って、直感的なやり方をとることにしましょう。editorialの図を見ると一発でわかると思いますが、以下で定義する$R_y$ゲートによって入力を$\pi/8$回転させた後で$\ket 0, \ket 1$に対応する射影測定を行います。
$$ R_z(\theta) = \left( \begin{array}{cc} \cos(\theta/2) & -\sin(\theta/2) \\ \sin(\theta/2) & \cos(\theta/2) \end{array} \right) $$
この時、正しく判定できる確率は
$$ \begin{align} P_{correct} &= \frac{1}{2}(\cos ^2(\pi/8)+(\cos (\pi/8)+\sin (\pi/8)) ^2)\\ &=\frac{1}{2}+\frac{1}{2\sqrt 2} \end{align} $$
と最大値を達成しています。
以下が解答となるコードです。Q#で書かれています。Q#に関してはぶるーまんさんのQ#のススメ(ISer Advent Calendar 2020)を参照すると良いでしょう。
namespace Solution { open Microsoft.Quantum.Primitive; open Microsoft.Quantum.Canon; open Microsoft.Quantum.Extensions.Math; operation Solve (q : Qubit) : Int { body { // Ry(theta)を適用 Ry(PI() / 4.0, q); // 測定 if(M(q) == Zero){ return 0; }else{ return 1; } } } }
上の測定は直感的には最適そうですが、一般論を用いることでその最適性が証明できました。