Block-Encodingについて
概要
PItBEを用いてBE法を実行する際の手順についてはデモプレイを参照すること。理論的背景
理論的背景の説明に向けての準備
\[\hat{A} = \sum_i^m\alpha_i\hat{P}_i\]と表現できるとする。
\[|\psi\rangle\]とする。
\[|0\dots{}0\rangle_{\text{anci}}\otimes|\psi\rangle_{\text{main}}\]補助量子ビットの個数は\(\log_2(m)\)であり、今回の場合は\(k\)個である。
\[\begin{split}\begin{aligned} \hat{B}: \beta_{s,t}\\ \hat{C}: \gamma_{s,t} \end{aligned}\end{split}\]とする。
量子ゲート\(\hat{B}\)の補助量子ビットへの作用
最初は補助量子ビット部分に量子ゲート\(\hat{B}\)を作用させる。この操作により補助量子ビットのとる量子状態は次のような重ね合わせ状態となる。\[|0\dots{}0\rangle_{\text{anci}}\otimes|\psi\rangle_{\text{main}} \to \left(\sum_i^m{\beta_{i,0}}|i\rangle_{\text{anci}}\right)\otimes|\psi\rangle_{\text{main}}\]ここで\(|i\rangle\)は\(k\)桁の二進数表記における整数\(i\)を表している。
制御ゲート\(\hat{P}_i\)のメイン量子ビットへの作用
次に補助量子ビットの値を制御ビットとする制御量子ゲート\(\hat{P}_i\)をメイン量子ビットに作用させていく。作用させる制御量子ゲートと補助量子ビットの値の対応関係は、補助量子ビットの値が\(|i\rangle\)の場合、\(i\)番目の量子ゲートを作用させるというものになっている。
この操作により異なる量子ゲートを\(|\psi\rangle\)に作用させた状態が補助量子ビットの値によって区別された重ね合わせ状態として保存することができる。
補助量子ビットへの量子ゲート\(\hat{C}\)の作用及び量子回路実行結果の測定
制御量子ゲートの作用が完了後、補助量子ビット部分に作用させた量子ゲート\(\hat{C}\)を作用させる。作用後の量子状態は次のように変化する。
このときダミーインデックス\(j\)のいずれかに対して次式
が成立するように\(\gamma_{j,i}\)及び\(\beta_{i,0}\)の値を決定すると、補助量子ビットが\(|j\rangle\)となる量子状態を射影測定することで\(\hat{A}|\psi\rangle\)についての情報を得ることができる。
なお実際には\(j=0\)とすることを推奨する。これは量子ゲート\(\hat{B}\)及び\(\hat{C}\)については行列成分が前述した条件を満たしていれば良いが、
とすることにより
となり、
とすることができるためである。
射影測定時にBE法の実行結果を測定する確率\(p_j\)は次のように計算される。
ここで\(\hat{A}\)の固有ベクトル\(|\phi_i\rangle\)及び定数\(\epsilon_i\)により量子状態\(|\psi\rangle\)が
と書けるとすると\(\hat{A}\)の固有値\(\lambda_i\)を用いて
となる。
問題点
必要量子ビット数の増大
BE法では、主要な量子ビットに加えて補助量子ビットを必要とするため、他の非ユニタリ行列を適用する量子アルゴリズムと比較して、必要とされる量子ビット数が多い。このため、本手法の実行には、より高性能な量子コンピュータが求められる。
量子ゲート\(\hat{B}\)及び\(\hat{C}\)の構成方法
量子ゲート\(\hat{B}\)及び\(\hat{C}\)の実装
測定時に生じる成功・失敗
参考文献
[1] Andrew M Childs and Nathan Wiebe. “Hamiltonian simulation using linear combinations of unitary operations”. In: arXiv preprint arXiv:1202.5822 (2012).
BE法を提案した論文