B3: SWAP Qubits

実行時間制限:3 秒

メモリ制限:512 MiB

配点:200点

問題文

22 量子ビットの状態をスワップする操作を、22 量子ビットをもつ量子回路 qc\mathrm{qc} 上に実装せよ。

正確には、次の操作を実装せよ。

a000+a110+a201+a311qca000+a210+a101+a311\begin{equation} a_0\ket{00} + \underline{a_1}\ket{10} + \underline{a_2}\ket{01} + a_3\ket{11} \xrightarrow{\mathrm{qc}} a_0\ket{00} + \underline{a_2}\ket{10} + \underline{a_1}\ket{01} + a_3\ket{11} \nonumber \end{equation}

ただし、aia_i は任意の複素振幅を表す。

制約

  • この問題では Qiskit の SwapGate を利用してはならない。
  • グローバル位相 の変化は問わない。
  • 提出されるコードは次のフォーマットにしたがうこと
from qiskit import QuantumCircuit
 
 
def solve() -> QuantumCircuit:
    qc = QuantumCircuit(2)
    # Write your code here:
 
    return qc

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