レッスン9:量子回路の読み方・書き方

回路図のルールを学び、ベル状態・GHZ状態を自分で組んで動かす

量子回路の読み方・書き方

量子アルゴリズムは、回路図(横線と四角・丸・縦線) で書かれます。読み方がわかれば、論文や入門書の回路が読めるようになります。

回路図のルール

  1. 横線 1 本 = Qubit 1 個。上から qubit0, qubit1… と並べる。
  2. 四角=1 Qubit のゲート(H・X・Z など)。その線の上に置く。
  3. 縦線+黒丸+⊕ 印=制御付きゲート(CNOT・Toffoli)。黒丸側が「条件」、⊕ 側が「操作」。
  4. 左から右へ 時間が進む。

例:ベル状態を作る回路(レッスン3で経験済み)

q0 ── H ──●──
          │
q1 ───────⊕──

「q0 に H をかけ、q1 を q0 で CNOT する」= |00⟩ → (|00⟩+|11⟩)/√2.

回路図を「そのまま」組んでみる

上のベル回路を、1 ステップずつに分解して計算を追ってみましょう。

Tip

見てみよう - ステップ1 では 0010 の 2 本。 - ステップ2(CNOT)で 10 → 11 に移り、0011 の 2 本だけに。 - これがベル状態回路の全容です。左から右へ読むだけで追えます。

GHZ 状態:3 つののびたもつれ

次は GHZ 状態。3 Qubit が「全部 0」か「全部 1」かで同時にもつれ合う、量子の代表的な 3 体もつれです。

回路はベル状態の自然な拡張:

q0 ── H ──●─────────
          │
q1 ───────⊕──●──────
              │
q2 ───────────⊕──────

「q0 に H、q0→q1 を CNOT、q0→q2 を CNOT」すると、(|000⟩+|111⟩)/√2 になります。

Tip

見てみよう - 測定は 000111 の 2 本だけ。3 つのコインが「全部表」か「全部裏」。 - GHZ 状態は量子ビットの数が増えても全体が強く結びつく例。 - 例えば「3 人が同時にコインを投げると全員同じ向き」という、古典では真似できない特徴です。

実際の SDK での実装

同じ回路は、本物の量子 SDK でもほぼ同じ見た目で書けます。

ツール ベル回路
Qiskit qc.h(0); qc.cx(0, 1)
Cirq cirq.H(q0); cirq.CNOT(q0, q1)

このキットの「自分のPCで試す」ノートブック(notebooks/02_entanglement.py)で、 Qiskit 版のベル状態を実行してみることもできます。

まとめ

  • 回路図は「上から Qubit、線ごとにゲート、左から右へ」で読む。
  • ベル = H + CNOT、GHZ = H + CNOT + CNOT、どちらも前レッスンの組み合わせの応用。
  • 同じ回路は Qiskit / Cirq でほぼ字面どおりに実装できる。

次は Shor・QFT など、さらに進んだ 量子アルゴリズムの定番 を俯瞰します。