Skip to main content
IBM Quantum Platform

FourierChecking

class qiskit.circuit.library.FourierChecking(f, g)

GitHub

ベース: QuantumCircuit

フーリエ検査回路。

[で]紹介したフーリエ検査アルゴリズムの回路は、ハダマードの層、関数 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] の特別なケースである。

参照資料:

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

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

フーリエ検査回路を作成する。

バージョンから非推奨 2.1

クラス qiskit.circuit.library.fourier_checking.FourierChecking は Qiskit 2.1 で非推奨となりました。 Qiskit 3.0 で削除されます。 代わりに qiskit.circuit.library.fourier_checking。

パラメーター

  • f (Sequence[int]) – fの真理値表、長さ 2**n {1,-1} のリスト.
  • g (Sequence[int]) – gの真理値表、長さ 2**n {1,-1} のリスト。

レイズ

CircuitError - 入力fとgが有効でない場合。

基準回路:

先に説明した回路を示す図。

属性

name

タイプ: str

人間が読める回路名。

from qiskit import QuantumCircuit

qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)
my_circuit
このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。