問題文
整数 n, L, 実数 θ が入力として与えられる。
0 以上 2n 未満の任意の整数 y に対して
∣y⟩nO{eiθ∣y⟩neiθ∣y⟩ny=Ly=L
を満たす n 量子ビットオラクル O を実装せよ。
制約
- 1≤n≤10
- 0≤L<2n
- 0≤θ<2π
- 整数は リトルエンディアン にしたがってエンコードすること
- グローバル位相 は問わない。
- 提出されるコードは次のフォーマットにしたがうこと
from qiskit import QuantumCircuit
def solve(n: int, L: int, theta: float) -> QuantumCircuit:
qc = QuantumCircuit(n)
# Write your code here:
return qc
入力例
- n=2, L=1, θ=π/2:
実装された量子回路 qc は次式を満たす。
41(∣00⟩+∣10⟩+∣01⟩+∣11⟩)qc41(∣00⟩+i∣10⟩+∣01⟩+∣11⟩)