問題文
整数 n と実数 T0, T1, …, Tn−1 が入力として与えられる。
次式の行列 A で定義される操作を n 量子ビットをもつ量子回路 qc 上に実装せよ。
A=2∣ψ⟩⟨ψ∣−I
ただし、 I は 2n×2n の単位行列とし、∣ψ⟩ は次式で定義される。
∣ψ⟩=(cosT0∣0⟩+sinT0∣1⟩)(cosT1∣0⟩+sinT1∣1⟩)…(cosTn−1∣0⟩+sinTn−1∣1⟩)
制約
- 2≤n≤10
- −π<Ti≤π
- グローバル位相 は問わない。
- 提出されるコードは次のフォーマットにしたがうこと
from qiskit import QuantumCircuit
def solve(n: int, T: list[float]) -> QuantumCircuit:
qc = QuantumCircuit(n)
# Write your code here:
return qc
ヒント
開く
- 次のようにして、量子ゲートの逆ゲートや量子回路の逆回路を適用できます。
qc.compose(sub_qc().inverse(), inplace=True)
# def sub_qc() -> QuantumCircuit