Skip to main content
IBM Quantum Platform

qiskit.circuit.library.fourier_checking

qiskit.circuit.library.fourier_checking(f, g)

GitHub

フーリエ検査回路。

[で]紹介したフーリエ検査アルゴリズムの回路は、ハダマードの層、関数 ff、ハダマードのもう1つの層、関数 gg、そしてハダマードの最後の層を含む。 関数 ffgg は、位相オラクル(対角線上に {-1, 1} を持つ対角演算子)として実現される古典関数である。

全ゼロ文字列を観測する確率は p(f,g)p(f,g) である。このアルゴリズムは、fがgのフーリエ変換と相関があるかどうかを決定する約束フーリエ検査問題を、 p(f,g)<=0.01p(f,g) <= 0.01 または p(f,g)>=0.05p(f,g) >= 0.05、これらのどちらか一方が真であることを約束するかどうかをテストすることによって解決する。

関数 ffgg は現在、真理値表から実装されているが、特殊なクラスの関数については簡潔に表現し、効率的に実装することができるだろう。

フーリエ検査は、 kk -fold forrelation [2] の特別なケースである。

基準回路:

from qiskit.circuit.library import fourier_checking
circuit = fourier_checking([1, -1, -1, -1], [1, 1, -1, -1])
circuit.draw('mpl')
先のコードで出力された回路図。

参照資料:

[1] S. Aaronson, BQP and Polynomial Hierarchy, 2009 (Section 3.2 ). arXiv:0910.4698

[2] S. Aaronson、A. Ambainis、Forrelation: 量子コンピューティングと古典コンピューティングを最適に分離する問題、2014年。 arXiv:1411.5729

パラメーター

戻りの型

QuantumCircuit

このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。