メインコンテンツへスキップ
このプロジェクトはベータ版です。バグを見つけましたか?GitHub Issueを開く。質問やアイデアがありますか?Discussionsで質問する — フィードバックをお待ちしています!
このページの翻訳品質はいかがですか?

回路タイミングの可視化

Package versions

このページのコードは、以下の要件を使用して開発されました。 これらのバージョン以上を使用することを推奨します。

qiskit[all]~=2.5.2

Circuit上の命令を可視化することに加えて、Qiskitのtimeline_drawerメソッドを使用してCircuitのスケジューリングを可視化したい場合もあるでしょう。この可視化は、例えばQubitのアイドル時間を素早く見つけるのに役立ちます。ただし、このメソッドは動的Circuitに対して正確な結果を返しません。動的Circuitのスケジューリングを可視化するには、Circuitタイミングの可視化ガイドで説明されているdraw_circuit_schedule_timingメソッドを使用してください。

例​

スケジュールされた回路プログラムを可視化するには、一連の制御引数を指定してこの関数を呼び出します。出力画像の外観のほとんどはスタイルシートで変更できますが、必須ではありません。

デフォルトのスタイルシートで描画する​

# Added by doQumentation — installs the packages this notebook needs if they are missing
import importlib.util

_needed = {"qiskit": "qiskit"}
_missing = [pip for module, pip in _needed.items()
if importlib.util.find_spec(module) is None]
# One at a time, so a package that fails to install does not block the others
for _pip in _missing:
%pip install -q {_pip}
if not _missing:
print("\u2713 All required packages are installed")
from qiskit import QuantumCircuit
from qiskit.visualization.timeline import draw
from qiskit.providers.fake_provider import GenericBackendV2
from qiskit.transpiler import generate_preset_pass_manager

qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)

backend = GenericBackendV2(5)

pm = generate_preset_pass_manager(backend=backend, optimization_level=1)
isa_circuit = pm.run(qc)

draw(isa_circuit, target=backend.target)

前のコードセルの出力

プログラムデバッグに適したスタイルシートで描画する​

from qiskit import QuantumCircuit
from qiskit.visualization.timeline import draw, IQXDebugging
from qiskit.providers.fake_provider import GenericBackendV2
from qiskit.transpiler import generate_preset_pass_manager

qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)
qc.measure_all()

backend = GenericBackendV2(5)
pm = generate_preset_pass_manager(backend=backend, optimization_level=1)
isa_circuit = pm.run(qc)
draw(isa_circuit, style=IQXDebugging(), target=backend.target)

前のコードセルの出力

カスタムのジェネレーター関数またはレイアウト関数を作成し、カスタム関数で既存のスタイルシートを更新することができます。これにより、スケジュールされた回路ドロワーのコードベースを変更することなく、出力画像の外観のほとんどを制御できます。詳細な例については、timeline_drawer の API リファレンスを参照してください。

次のステップ​

推奨事項