問題文
0 以上 4 未満の整数 k が入力として与えられる。
次の条件を満たすオラクル E(k) を、3 量子ビットをもつ量子回路 qc 上に実装せよ。
E(0)E(1)E(2)E(3)=I⊗I⊗I=X⊗I⊗I=I⊗X⊗I=I⊗I⊗X
ただし、行列 I は 2×2 の単位行列、X は X ゲート を表す。
I=(1001),X=(0110)
制約
- 0≤k<4
- 整数は リトルエンディアン にしたがってエンコードすること
- グローバル位相 は問わない。
- 提出されるコードは次のフォーマットにしたがうこと
from qiskit import QuantumCircuit
def solve(k: int) -> QuantumCircuit:
qc = QuantumCircuit(3)
# Write your code here:
return qc
ヒント
開く
- E(1)=X⊗I⊗I は 1ビット目に X ゲートを作用させる操作を意味します。
- 次のようにして、量子回路 qc の i 番目の量子ビットに何らかの量子ゲート g を作用させることができます。
qc.g(i)