A1: Generate Plus state

実行時間制限:2 秒

メモリ制限:512 MiB

配点:100点

解説

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

今回の問題では、量子ゲートの一種であるアダマール (Hadamard; HH) ゲートを量子ビットに作用させることで、ゼロ状態からプラス状態への遷移を実現できます。

0H(0)12(0+1)\ket{0} \xrightarrow{H(0)} \frac{1}{\sqrt{2}} (\ket{0} + \ket{1})

この量子ビットを測定すると、計算基底状態 0\ket{0}1\ket{1} が等しい確率 1/21/2 で観測されます。(確率は状態の複素振幅の絶対値の二乗で表されます)

このような確率的な重ね合わせ状態は、古典コンピュータには無い量子コンピュータ特有の性質の一つです。

解答例

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

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

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

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

補足

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