A1: Generate State 0- \ket{0}

実行時間制限:3 秒

メモリ制限:512 MiB

配点:100点

Writer:ST12

解説

量子コンピュータでは「量子ゲート」という概念を用いて、量子ビットの状態を操作します。

今回の問題では、量子ゲートの一種である XX ゲートと ZZ ゲートを量子ビットに作用させることで、ゼロ状態 0\ket{0} から目的の量子状態 0-\ket{0} への遷移を実現できます。 以下の量子回路にて、行なったゲート操作を示します。

まず、 XX ゲートを量子状態 0\ket{0} に対して作用させることにより、量子状態 1\ket{1} へと遷移させます。

0X(0)1\begin{equation} \ket{0} \xrightarrow{X(0)} \ket{1} \end{equation}

次に、 ZZ ゲートを量子状態 1\ket{1} に対して作用させることにより、量子状態 1 - \ket{1} へと遷移させます。

1Z(0)1\begin{equation} \ket{1} \xrightarrow{Z(0)} - \ket{1} \end{equation}

最後に、 XX ゲートを量子状態 1 - \ket{1} に対して作用させることにより、量子状態 0 - \ket{0} へと遷移させます。

1X(0)0\begin{equation} - \ket{1} \xrightarrow{X(0)} - \ket{0} \end{equation}

この量子ビットを測定すると、元の状態と変わらず計算基底状態 0\ket{0} が確率 11 で観測されます。一方で、 0\ket{0}グローバル位相00 から π\pi に変化しています。

このようなビット反転や位相反転は、基本の量子操作となります。

解答例

解答例は以下の通りです。

from qiskit import QuantumCircuit
 
 
def solve() -> QuantumCircuit:
    qc = QuantumCircuit(1)
    
    # Apply PauliX gate and PauliZ gate to the 1st qubit (index 0)
    qc.x(0)
    qc.z(0)
    qc.x(0)
 
    return qc

補足

  • Xゲート、Zゲート以外にも多くの量子ゲートが存在します。
    それぞれの量子ゲートの意味や役割を理解しておくと、今後の問題を解く際に役立つかもしれません。