問題文 整数 nnn と実数 T0, T1, …, Tn−1T_0,\ T_1,\ \ldots,\ T_{n-1}T0, T1, …, Tn−1 が入力として与えられる。 次式の行列 AAA で定義される操作を nnn 量子ビットをもつ量子回路 qc\mathrm{qc}qc 上に実装せよ。 A=2∣ψ⟩⟨ψ∣−IA = 2 \ket{\psi}\bra{\psi} - IA=2∣ψ⟩⟨ψ∣−I ただし、 III は 2n×2n2^n \times 2^n2n×2n の単位行列とし、∣ψ⟩\ket{\psi}∣ψ⟩ は次式で定義される。 ∣ψ⟩=(cosT0∣0⟩+sinT0∣1⟩)(cosT1∣0⟩+sinT1∣1⟩)…(cosTn−1∣0⟩+sinTn−1∣1⟩)\ket{\psi} = (\cos T_0 \ket{0} + \sin T_0\ket{1}) (\cos T_1\ket{0} + \sin T_1\ket{1}) \ldots (\cos T_{n-1} \ket{0} + \sin T_{n-1} \ket{1})∣ψ⟩=(cosT0∣0⟩+sinT0∣1⟩)(cosT1∣0⟩+sinT1∣1⟩)…(cosTn−1∣0⟩+sinTn−1∣1⟩) 制約 2≤n≤102 \leq n \leq 102≤n≤10 −π<Ti≤π- \pi \lt T_i \leq \pi−π<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