解説
生成したい状態は 3つの計算基底状態 ∣00⟩, ∣10⟩, ∣01⟩ の重ね合わせ状態です。
このような2のべき乗でない個数の計算基底状態の重ね合わせは、制御アダマールゲート (controlled-H; CH) を利用して生成できます。
はじめに、1ビット目にアダマールゲートを作用させます。
∣00⟩H(0)21(∣00⟩+∣10⟩)
次に、1ビット目を制御ビット、2ビット目を標的ビットとして制御アダマールゲートを作用させます。
21(∣00⟩+∣10⟩)CH(0,1)21∣00⟩+21(∣10⟩+∣11⟩)
最後に、1ビット目を標的ビット、2ビット目を制御ビットとして制御 X ゲートを作用させます。
21∣00⟩+21(∣10⟩+∣11⟩)CX(1,0)21∣00⟩+21(∣10⟩+∣01⟩)
こうして、3つの計算基底状態 ∣00⟩, ∣10⟩, ∣01⟩ の重ね合わせ状態が生成できました。
解答例
解答例は以下の通りです。
from qiskit import QuantumCircuit
def solve() -> QuantumCircuit:
qc = QuantumCircuit(2)
qc.h(0)
qc.ch(0, 1)
qc.cx(1, 0)
return qc