回路タイミングの可視化
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 リファレンスを参照してください。
次のステップ
推奨事項
- 回路タイミングの可視化(IBM Quantum Compute Service 使用時)
- 回路の可視化