B1: Bra-Ket Notated Gate

実行時間制限:3 秒

メモリ制限:512 MiB

配点:100点

問題文

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

A=10+01A = \ket{1}\bra{0}+\ket{0}\bra{1}

制約

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

ヒント

開く

量子状態 ψ=a00+a11\ket{\psi} = a_0 \ket{0} + a_1 \ket{1}

ψ=a00+a11=(a0a1)\ket{\psi}=a_0\ket{0}+a_1\ket{1}=\begin{pmatrix}a_0\\a_1\end{pmatrix}

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

また、量子状態 ψ=a00+a11\ket{\psi} = a_0 \ket{0} + a_1 \ket{1} について、その随伴 ψ\bra{\psi}

ψ=ψ=(a0a1)\bra{\psi} = \ket{\psi}^{\dagger} = \begin{pmatrix}a_0^* & a_1^*\end{pmatrix}

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

ψ=(a0a1)\ket{\psi} = \begin{pmatrix}a_0 \\ a_1 \end{pmatrix}ϕ=(b0b1)\bra{\phi} = \begin{pmatrix} b_0^* & b_1^* \end{pmatrix} について、その内積 ϕψ\braket{ \phi | \psi }

ϕψ=(b0b1)(a0a1)=b0a0+b1a1\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}ϕ=(b0b1)\bra{\phi} = \begin{pmatrix} b_0^* & b_1^* \end{pmatrix} について、その外積 ψϕ\ket{\psi} \bra{\phi}

ψϕ=(a0a1)(b0b1)=(a0b0a0b1a1b0a1b1)\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}

が成立します。

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