B1: Bra-Ket Notated Gate

実行時間制限:3 秒

メモリ制限:512 MiB

配点:100点

問題文

次式の行列 AA で定義される操作を、 11 量子ビットをもつ量子回路 qc\mathrm{qc} 上に実装せよ。

A=∣1⟩⟨0∣+∣0⟩⟨1∣A = \ket{1}\bra{0}+\ket{0}\bra{1}

制約

  • この問題では異なる グローバル位相 をもつ状態は正答としない。
  • 提出されるコードは次のフォーマットにしたがうこと
from qiskit import QuantumCircuit
 
 
def solve() -> QuantumCircuit:
    qc = QuantumCircuit(1)
    # Write your code here:
 
    return qc

ヒント

開く

量子状態 ∣ψ⟩=a0∣0⟩+a1∣1⟩\ket{\psi} = a_0 \ket{0} + a_1 \ket{1} は

∣ψ⟩=a0∣0⟩+a1∣1⟩=(a0a1)\ket{\psi}=a_0\ket{0}+a_1\ket{1}=\begin{pmatrix}a_0\\a_1\end{pmatrix}

のように列ベクトルで表すこともできます。

また、量子状態 ∣ψ⟩=a0∣0⟩+a1∣1⟩\ket{\psi} = a_0 \ket{0} + a_1 \ket{1} について、そのエルミート転置 ⟨ψ∣\bra{\psi} は

⟨ψ∣=∣ψ⟩†=(a0∗a1∗)\bra{\psi} = \ket{\psi}^{\dagger} = \begin{pmatrix}a_0^* & a_1^*\end{pmatrix}

という行ベクトルで表せます。

∣ψ⟩=(a0a1)\ket{\psi} = \begin{pmatrix}a_0 \\ a_1 \end{pmatrix} と ⟨ϕ∣=(b0∗b1∗)\bra{\phi} = \begin{pmatrix} b_0^* & b_1^* \end{pmatrix} について、その内積 ⟨ϕ∣ψ⟩\braket{ \phi | \psi } は

⟨ϕ∣ψ⟩=(b0∗b1∗)(a0a1)=b0∗a0+b1∗a1\braket{ \phi | \psi } = \begin{pmatrix} b_0^* & b_1^* \end{pmatrix} \begin{pmatrix} a_0 \\ a_1 \end{pmatrix} = b_0^* a_0 + b_1^* a_1

と定義されます。

また、量子状態に対して操作を行うことは、列ベクトルにユニタリ行列を左からかけることに対応します。

∣ψ⟩=(a0a1)\ket{\psi} = \begin{pmatrix} a_0 \\ a_1 \end{pmatrix} と ⟨ϕ∣=(b0∗b1∗)\bra{\phi} = \begin{pmatrix} b_0^* & b_1^* \end{pmatrix} について、その外積 ∣ψ⟩⟨ϕ∣\ket{\psi} \bra{\phi} は

∣ψ⟩⟨ϕ∣=(a0a1)(b0∗b1∗)=(a0b0∗a0b1∗a1b0∗a1b1∗)\ket{\psi} \bra{\phi} = \begin{pmatrix} a_0 \\ a_1 \end{pmatrix} \begin{pmatrix} b_0^* & b_1^* \end{pmatrix} = \begin{pmatrix} a_0 b_0^* & a_0 b_1^* \\ a_1 b_0^* & a_1 b_1^*\end{pmatrix}

と定義され、任意の量子状態 ∣ω⟩\ket{\omega} に対して

(∣ψ⟩⟨ϕ∣)∣ω⟩=∣ψ⟩⟨ϕ∣ω⟩=⟨ϕ∣ω⟩∣ψ⟩(\ket{\psi} \bra{\phi}) \ket{\omega} = \ket{\psi} \braket{ \phi | \omega } = \braket{ \phi | \omega } \ket{\psi}

が成立します。

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