주 콘텐츠로 건너뛰기

Circuit 타이밍 시각화

Package versions

이 페이지의 코드는 다음 요구 사항을 사용하여 개발되었습니다. 아래 버전 이상을 사용하길 권장해요.

qiskit[all]~=2.4.0

Circuit의 명령어 시각화 외에도, Qiskit timeline_drawer 메서드를 사용하여 Circuit의 스케줄링을 시각화할 수 있습니다. 이 시각화는 예를 들어 Qubit의 유휴 시간을 빠르게 파악하는 데 도움이 될 수 있습니다. 다만, 이 메서드는 동적 Circuit에 대해 정확한 결과를 반환하지 않습니다. 동적 Circuit 스케줄링을 시각화하려면 Qiskit Runtime Circuit 타이밍 시각화 가이드를 참조하세요.

예시

스케줄된 Circuit 프로그램을 시각화하려면, 일련의 제어 인수와 함께 이 함수를 호출할 수 있습니다. 출력 이미지의 대부분의 모양은 스타일시트로 수정할 수 있지만, 반드시 필요한 것은 아닙니다.

기본 스타일시트로 그리기

# 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)

이전 코드 셀의 출력

사용자 정의 generator 또는 layout 함수를 만들고, 기존 스타일시트를 해당 함수로 업데이트할 수 있습니다. 이렇게 하면 스케줄된 Circuit 드로어의 코드베이스를 수정하지 않고도 출력 이미지의 대부분의 모양을 제어할 수 있습니다. 더 많은 예시는 timeline_drawer API 레퍼런스를 참조하세요.

다음 단계

추천