B3: Generate State i(cosTi0+sinTi1)\bigotimes_i\lparen\cos{T_i}\ket{0}+\sin{T_i}\ket{1}\rparen

実行時間制限:3 秒

メモリ制限:512 MiB

配点:200点

問題文

整数 nn と実数 T0, T1, , Tn1T_0,\ T_1,\ \ldots,\ T_{n-1} が入力として与えられる。 ゼロ状態から量子状態 ψ\ket{\psi} を生成する操作を、 nn 量子ビットをもつ量子回路 qc\mathrm{qc} 上に実装せよ。 量子状態 ψ\ket{\psi} は次式で定義される。

ψ=(cosT00+sinT01)(cosT10+sinT11)(cosTn10+sinTn11)\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})

制約

  • 1n101 \leq n \leq 10
  • π<Tiπ-\pi \lt T_i \leq \pi
  • グローバル位相 は問わない。
  • 提出されるコードは次のフォーマットにしたがうこと
from qiskit import QuantumCircuit
 
 
def solve(n: int, T: list[float]) -> QuantumCircuit:
    qc = QuantumCircuit(n)
    # Write your code here:
 
    return qc

入力例

  • n=3, (T0,T1,T2)=(π/6,π/3,π/2)n=3,\ (T_0, T_1, T_2) = (\pi / 6, \pi / 3, \pi / 2): 実装された量子回路 qc\mathrm{qc} は次式を満たす。
000qc(cosπ60+sinπ61)(cosπ30+sinπ31)(cosπ20+sinπ21)=34001+14101+34011+34111\begin{align} \ket{000} \xrightarrow{\mathrm{qc}} &\left( \cos \frac{\pi}{6} \ket{0}+ \sin \frac{\pi}{6} \ket{1} \right) \left( \cos \frac{\pi}{3}\ket{0} + \sin \frac{\pi}{3} \ket{1} \right) \left( \cos \frac{\pi}{2} \ket{0} + \sin \frac{\pi}{2} \ket{1} \right) \nonumber\\ = &\frac{\sqrt{3}}{4} \ket{001} + \frac{1}{4} \ket{101} + \frac{3}{4} \ket{011} + \frac{\sqrt{3}}{4} \ket{111} \nonumber \end{align}

解答を提出するにはログインしてください。