回路タイミングの可視化
パッケージバージョン
このページのコードは、以下の要件を使用して開発されました。 これらのバージョン以降を使用することを推奨します。
qiskit[all]~=2.4.0
回路への命令の可視化に加えて、Qiskit の timeline_drawer メソッドを使用して回路のスケジューリングを可視化することもできます。この可視化は、例えば量子ビット上のアイドル時間をすばやく発見するのに役立ちます。ただし、このメソッドは動的回路に対して正確な結果を返しません。動的回路のスケジューリングを可視化するには、Qiskit Runtime の回路タイミングの可視化ガイドで説明している draw_circuit_schedule_timing メソッドを使用してください。
例
スケジュールされた回路プログラムを可視化するには、一連の制御引数を指定してこの関数を呼び出します。出力画像の外観のほとんどはスタイルシートで変更できますが、必須ではありません。
デフォルトのスタイルシートで描画する
# Added by doQumentation — required packages for this notebook
!pip install -q qiskit
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 リファレンスを参照してください。
次のステップ
推奨事項
- 回路タイミングの可視化(Qiskit Runtime 使用時)
- 回路の可視化