InstructionDurations
class qiskit.transpiler.InstructionDurations(instruction_durations=None, dt=None)
베이스: object
도우미 클래스를 통해 스케줄링에 대한 설명 시간을 제공합니다.
트랜스파일링의 스케줄링 단계에서 사용할 기간(게이트 길이)과 dt를 저장합니다. backend 또는 instruction_durations 에서 transpile() 의 인수로 구성할 수 있습니다. 인스트럭션의 지속 시간은 인스트럭션(이름으로 제공됨), 큐비트 및 선택적으로 인스트럭션의 매개변수에 따라 달라집니다. 이러한 필드는 명령어 기간을 검색하는 데 사용되는 사전의 키로 사용됩니다. 따라서 사용자는 인스트럭션 기간을 검색할 때 추가한 값과 정확히 동일한 매개변수 값을 사용해야 합니다.
메소드
매개변수
- instruction_durations (InstructionDurationsType | None)
- dt (float | None)
from_backend
classmethod from_backend(backend)
백엔드에서 InstructionDurations 객체를 생성합니다.
매개변수
backend (Backend) – 백엔드에서 기간(게이트 길이)과 DT를 추출합니다.
리턴
백엔드에서 구성된 InstructionDurations.
리턴 유형
레이즈
- TranspilerError – 백엔드에서 dt와 dtm이 서로 다른 경우.
- TypeError - 백엔드가 잘못된 유형인 경우
get
get(inst, qubits, unit='dt', parameters=None)
이름, 큐비트, 매개변수로 인스트럭션의 지속 시간을 가져옵니다.
일부 지침에는 매개변수에 따라 지속 시간이 달라질 수 있습니다.
매개변수
- inst (str |Instruction) – 질의 대상이 되는 명령어 또는 그 이름.
- qubits (int |list[int]) – 명령어가 작동하는 큐비트 인덱스입니다.
- unit (str) – 반환할 기간의 단위입니다. 's' 또는 'dt'여야 합니다.
- parameters (list[float] | None) – 원하는 인스트럭션의 매개변수 값입니다.
리턴
큐비트에 대한 인스트럭션의 지속 시간입니다.
리턴 유형
레이즈
TranspilerError – 해당 명령어에 대한 실행 시간이 정의되어 있지 않습니다.
units_used
update
update(inst_durations, dt=None)
인스턴스_지속시간으로 자체 업데이트(인스턴스_지속시간이 자체 덮어쓰기).
매개변수
- inst_durations (list[tuple[str, Iterable[int] | None, float, Iterable[float] | None, str]] | list[tuple[str, Iterable[int] | None, float, Iterable[float] | None]] | list[tuple[str, Iterable[int] | None, float, str]] | list[tuple[str, Iterable[int] | None, float]] | InstructionDurations | None) – self에 병합될 명령어 실행 시간(self를 덮어쓰기).
- dt (float | None) – 대상 백엔드의 샘플링 시간(초).
리턴
업데이트된 InstructionDurations.
리턴 유형
레이즈
TranspilerError – instruction_durations의 형식이 올바르지 않은 경우.