こんにちは。量子コンピュータの計算は日々改良されています。今回はblueqat tutorialに掲載されている数値積分の仕方を概観したいと思います。
量子コンピュータである面積を求める際には、数値積分が利用できます。数値積分は面積を長方形の集まりで近似して、足し合わせて計算をします。
量子コンピュータでこれを行う際には、量子回路と呼ばれる論理量子ビットを並べて作る回路で上記のy = f(x)を表現する必要があります。面積を求めるには、小さな長方形を足し合わせる必要がありますが、それを量子ビットの量子状態の振幅を使って表現を行います。チュートリアルからとると、
こちらの量子状態では、重ね合わせ状態から確率振幅を準備し、それに対してf(x)の平方根を振幅に持つような状態を作ることで、|1>状態の振幅を推定することで面積を求めることができます。
初期状態が今回は重ね合わせからスタートしているので、分母は2^nとなりますが、分割区間を複雑にとる場合には、初期状態もそれなりに複雑な量子状態を取る必要があるかもしれません。
今回は重ね合わせからルートの2^nが分母となり、分子はf(x)が対応しています。量子回路として例題にある、
をみると、q1,q2は初期状態に重ね合わせ状態を持っており、こちらの回路を実行することで、q0に複雑な振幅を移すことに成功しています。これにより、q0の|1>状態の振幅を推定することにより、数値積分を利用した面積を求めることができます。これが振幅推定です。
チュートリアルでは二種類の方法でsinx^2の面積を振幅の推定によって求めていますので、ぜひ読んでみてください。以上です。
参考
https://qiita.com/KeiichiroHiga/items/dae9b5395366f0f4fc2c
https://www.mizuho-ir.co.jp/publication/giho/pdf/010_01.pdf
https://blueqat.com/Kuma/a13a5b9b-065d-44d3-972f-5e3b69b2323c