忍者ブログ
統計、機械学習、AIを学んでいきたいと思います。 お役に立てば幸いです。

【Qiskit】1量子ビットの測定実験:「何もしないと0」の物理的意味

量子コンピュータのコードを書くとき、初期状態の量子ビットをそのまま測定するとどうなるでしょうか?今回は、あえて操作を加えずに 1量子ビット を定義して測定するシンプルな実験と、その裏にある物理的な意味を解説します。

1. サンプルコード

1量子ビットと1つの古典ビットを準備し、Hゲートなどの操作を行わずにそのまま測定するコードです。

from qiskit import QuantumCircuit
from qiskit.providers.basic_provider import BasicSimulator

# 1量子ビット、1古典ビットを準備
qc = QuantumCircuit(1, 1)

# (操作を加えずにそのまま測定)
qc.measure(0, 0)

# シミュレータで1000回実行
simulator = BasicSimulator()
result = simulator.run(qc, shots=1000).result()
counts = result.get_counts()

print(f"実行結果: {counts}")

2. 実行結果

上記のコードを実行すると、何度(何回shotsを回しても)結果は必ず以下のようになります。

実行結果: {'0': 1000}

3. 解説:なぜ「1」は出ないのか?

「量子力学=ランダムに確率で変わるもの」というイメージがあると 1 も混ざりそうになりますが、ここには明確な理由があります。

  • 初期状態は純粋な |0>:実際のハードウェア(超伝導回路など)は極低温に冷却され、余計なエネルギーが奪われた状態(基底状態)からスタートするため、何も操作しなければ 100% 確実な 0 です。
  • 「波」にするにはエネルギーが必要:Hゲート(アダマールゲート)などで外部からエネルギーを加え、量子を揺らがせて「確率の波(重ね合わせ)」に変換して初めて、01 が確率的に出現するようになります。
  • 測定と初期状態の違い:初期状態の 0 は静まり返った純粋な状態ですが、測定後の 0 は「波」の状態で漂っていたものが測定の衝撃で強制的に収縮させられた結果です。
量子は「何もしなければピシッと0」!
Hゲートなどのエネルギー操作で「波」に変換して初めて、量子らしい確率の世界が始まります。
PR