量子コンピュータの量子ビットの数が多くない段階では少しでも節約をしたいなどの要望もあります。また、素直に量子ビット数を使うのではなく、波動関数を近似する方法を見てみたいと思います。こちらの論文をレビューします。
Holographic quantum algorithms for simulating correlated spin systems
https://arxiv.org/pdf/2005.03023.pdf
テンソルネットワーク
まず、テンソルネットワークを確認します。量子回路は時間発展で通常量子回路の左から右へと時間を経過するごとに量子ゲートと呼ばれる論理演算を適用して計算を行います。計算の順序は左から右へと決まっています。1量子ビットと2量子ビットの演算があります。
テンソルネットワークでは、この時間発展方向の計算と、空間方向の量子ビット同士の計算の区別をつけず、量子ゲートをテンソルとして扱い、一つのネットワーク構造を作ります。
本物の量子コンピュータでは無理ですが、例えばシミュレータなどでは上記のようにテンソルを使うことによって、量子回路に対して別の見方をすることができます。当初googleは量子超越と言って既存スパコンで1万年かかる計算を量子コンピュータで200秒で実行できるという計算を披露しましたが、今では上記のテンソルネットワーク理論を使うことにより効率的に計算をすることができており、1万年かからず数日で計算ができることとなりました。
シミュレータ用途、量子回路用途
テンソルネットワークの用途は量子コンピュータ向けには大きく分けて2つあり、一つはシミュレータに対して利用することにより高速にシミュレートをすることができるという用途と、もう一つは量子回路上で利用することにより波動関数を近似計算するなど新しい計算の知見を得られるという用途です。今回は右側の、量子回路上でのテンソルネットワークの利用を見てみます。
行列積状態を利用したホログラフィックアルゴリズム
今回はテンソルネットワークの中でも行列積状態MPSを利用します。MPSでは波動関数を量子ビットと結合次元で考えます。通常は2^Nの状態ベクトルの要素を持ちますが、MPSでは結合次元を使って量子状態を記述する際に効率的に近似を行います。
このMPS状態を量子回路上で再現するには、階段状にユニタリ演算を組んでいき、隣接する量子ビットとの間でのもつれ状態を利用します。
また、このMPS回路は量子ビットの測定と初期化を使うことにより、回路を折りたたみ、利用する量子ビットを減らすことができます。現在この回路の途中測定と初期化を利用することができる実機が増えており、今回の論文はhoneywell社が発表しています。
結合次元の調整
波動関数の近似具合は結合次元によって決まります。ある程度大きな結合次元を取らないと波動関数はいい感じには近似はできないと思われ、ここでは、量子ビットを複数利用することによって、ユニタリ演算で疑似的な量子ビットを生成し、サンプリングを通じて量子ビットの値を取り出すことができます。
下記では、結合次元用の量子ビット数kをつかって、結合次元2^kをつくり、それを利用して量子ビットの値をMPS状態の折り畳みと合わせて活用しています。
このユニタリ演算にPQCと呼ばれる角度をパラメータに持った演算子を使うことによってVQEなどの変分計算を利用して量子状態を作ることができます。
今後はこのホログラフィックVQEをさらに発展させた計算手法を見てみて、利用の仕方を確認したいと思います。今回は以上です。