A1: Generate State One

実行時間制限:3 秒

メモリ制限:512 MiB

配点:100点

Writer:fortoobye

解説

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

量子状態に含まれる 計算基底状態 のビットを反転させるには、量子ゲートの一種である XX ゲート を使うことができます。

よって、量子ビットに対して XX ゲートを作用させることでこの問題を解くことができます。

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

この量子ビットを測定すると、計算基底状態 1\ket{1} が確率 11 で観測されます。

解答例

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

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

次のように記述することもできます。

from qiskit import QuantumCircuit
from qiskit.circuit.library import XGate
 
 
def solve() -> QuantumCircuit:
    qc = QuantumCircuit(1)
 
    qc.append(XGate(), [0])
 
    return qc

補足

  • XX ゲートは古典回路における NOT\mathrm{NOT} ゲートの量子回路版と考えることができます。(XX ゲートを NOT\mathrm{NOT} ゲートと呼ぶこともあります。)