問題文
整数 n, a が入力として与えられる。
次の条件を満たすオラクル O を、n+1 量子ビットをもつ量子回路 qc 上に実装せよ。
0≤k<2n と 0≤c≤1 を満たす任意の整数の組 (k,c) に対して
∣k⟩n∣c⟩1Oexp(2n2πicak)∣k⟩n∣c⟩1
制約
- 1≤n≤10
- 1≤a≤10
- 整数は リトルエンディアン にしたがってエンコードすること
- グローバル位相 は問わない。
- 提出されるコードは次のフォーマットにしたがうこと
from qiskit import QuantumCircuit, QuantumRegister
def solve(n: int, a: int) -> QuantumCircuit:
k, c = QuantumRegister(n), QuantumRegister(1)
qc = QuantumCircuit(k, c)
# Write your code here:
return qc
ヒント
開く
- まずは c を除いた次のオラクルを考えてみましょう。
∣k⟩nOexp(2n2πiak)∣k⟩n