量子回路

量子回路

執筆済 量子計算

ゲートを時間順に並べた計算の記述。 横線が量子ビット、箱がゲート、時間は左から右へ流れる。

特徴#

性質 内容
線の数が変わらない 量子ビットは増減しない(可逆性)
ループが無い ユニタリの列。条件分岐は測定が要る
測定は最後(が基本) 途中測定もできるが状態を壊す

深さと幅#

  • … 量子ビット数
  • 深さ … 直列に並ぶゲートの段数

コヒーレンス時間が有限なので、 深さに上限がある。 これが NISQ 期のアルゴリズム設計を規定する最大の制約。

実行可能な深さT2ゲート時間

トランスパイル#

書いた回路をそのまま実行できるとは限らない。

  1. ゲート分解 — 実機が持つゲートセットへ変換
  2. 量子ビット割り当て — 論理ビットを物理ビットへ対応させる
  3. SWAP 挿入 — 隣接していないビット間の 2 量子ビットゲートのため
  4. 最適化 — ゲート数と深さを減らす

3 が特に効く。実機の接続は限られており、 遠いビット間の CNOT には SWAP の連鎖が要る。 SWAP 1 個 = CNOT 3 個なので、 接続を考慮しない回路は実機で急激に劣化する。

古典との違い#

古典回路は途中の値を読める(デバッグできる)が、 量子回路は読んだ時点で壊れる。 デバッグの手段が限られることが、 量子ソフトウェア開発の難しさの一因になっている。

参考文献#

ノート一覧を閉じる