近年は量子コンピュータ実機を用いた計算を誰もが行えるようになった。量子コンピュータ実機上での計算は、用意した量子ビットにいくつかの量子ゲートを作用させることによって計算する。このとき、予め用意されていない量子ゲートを作用させたいときは、予め用意された1量子ビットゲートや2量子ビットゲートの組み合わせで表せるようにその量子ゲートを「分解」する必要がある。 量子コンピュータ実機を用いる場合、一般に2量子ビットゲートを直接かけられる量子ビットのペアは量子ビットのコネクティビティによって制限されている。また、近年様々な物理構成で量子コンピュータが作られており、各物理構成によって、作りやすい2量子ビットゲートは異なり得る。さらに、一般に2量子ビットゲートは1量子ビットゲートに比べてノイズが大きいため、量子ゲートの分解においては、2量子ビットゲートの数がなるべく少なくなるようにしたい。これらを考慮して毎回量子ゲートの最適な分解を手計算で見つけるのは困難である。 本研究は、各量子コンピュータの構成にとって、それぞれに最適な多量子ビットゲートの分解方法を探索することを目的とする。本研究では、2量子ビットゲートを適当に配置して1量子ビット回転ゲートを適切に挿入した変分量子回路を与えたときに、その変分パラメータを調整して目的のユニタリ回路を作る最適化アルゴリズムを考案した。そして、その最適化アルゴリズムをGPU上で実行可能なコードで実装した。さらに、この最適化アルゴリズムを用いて、実際に4量子ビットゲートの一種であるCCCZゲートを例に取り、分解方法を探索した。これによって、複数の条件に対して、それぞれ最適と思われるCCCZゲートの分解方法を発見した。
|