qiskit-documentation/docs/api/qiskit-ibm-provider/0.7/qiskit_ibm_provider.transpi...

127 lines
5.1 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: DynamicCircuitInstructionDurations
description: API reference for qiskit_ibm_provider.transpiler.passes.scheduling.DynamicCircuitInstructionDurations
in_page_toc_min_heading_level: 1
python_api_type: class
python_api_name: qiskit_ibm_provider.transpiler.passes.scheduling.DynamicCircuitInstructionDurations
---
# DynamicCircuitInstructionDurations
<Class id="qiskit_ibm_provider.transpiler.passes.scheduling.DynamicCircuitInstructionDurations" isDedicatedPage={true} github="https://github.com/qiskit/qiskit-ibm-provider/tree/stable/0.7/qiskit_ibm_provider/transpiler/passes/scheduling/utils.py" signature="DynamicCircuitInstructionDurations(instruction_durations=None, dt=None, enable_patching=True)" modifiers="class">
For dynamic circuits the IBM Qiskit backend currently reports instruction durations that differ compared with those required for the legacy Qobj-based path. For now we use this class to report updated InstructionDurations. TODO: This would be mitigated by a specialized Backend/Target for dynamic circuit backends.
Dynamic circuit instruction durations.
## Attributes
<span id="dynamiccircuitinstructiondurations-measure-patch-cycles" />
### MEASURE\_PATCH\_CYCLES
<Attribute id="qiskit_ibm_provider.transpiler.passes.scheduling.DynamicCircuitInstructionDurations.MEASURE_PATCH_CYCLES" attributeValue="160" />
<span id="dynamiccircuitinstructiondurations-measure-patch-odd-offset" />
### MEASURE\_PATCH\_ODD\_OFFSET
<Attribute id="qiskit_ibm_provider.transpiler.passes.scheduling.DynamicCircuitInstructionDurations.MEASURE_PATCH_ODD_OFFSET" attributeValue="64" />
## Methods
<span id="dynamiccircuitinstructiondurations-from-backend" />
### from\_backend
<Function id="qiskit_ibm_provider.transpiler.passes.scheduling.DynamicCircuitInstructionDurations.from_backend" signature="DynamicCircuitInstructionDurations.from_backend(backend)" modifiers="classmethod">
Construct an `InstructionDurations` object from the backend.
**Parameters**
**backend** ([`Backend`](/api/qiskit/qiskit.providers.Backend "(in Qiskit v0.45)")) backend from which durations (gate lengths) and dt are extracted.
**Returns**
The InstructionDurations constructed from backend.
**Return type**
InstructionDurations
**Raises**
**TranspilerError** If dt and dtm is different in the backend.
</Function>
<span id="dynamiccircuitinstructiondurations-get" />
### get
<Function id="qiskit_ibm_provider.transpiler.passes.scheduling.DynamicCircuitInstructionDurations.get" signature="DynamicCircuitInstructionDurations.get(inst, qubits, unit='dt', parameters=None)">
Get the duration of the instruction with the name, qubits, and parameters.
Some instructions may have a parameter dependent duration.
**Parameters**
* **inst** (*str |* [*qiskit.circuit.Instruction*](/api/qiskit/qiskit.circuit.Instruction "(in Qiskit v0.45)")) An instruction or its name to be queried.
* **qubits** (*int | list\[int]*) Qubit indices that the instruction acts on.
* **unit** (*str*) The unit of duration to be returned. It must be s or dt.
* **parameters** (*list\[float] | None*) The value of the parameters of the desired instruction.
**Returns**
The duration of the instruction on the qubits.
**Return type**
float|int
**Raises**
**TranspilerError** No duration is defined for the instruction.
</Function>
<span id="dynamiccircuitinstructiondurations-units-used" />
### units\_used
<Function id="qiskit_ibm_provider.transpiler.passes.scheduling.DynamicCircuitInstructionDurations.units_used" signature="DynamicCircuitInstructionDurations.units_used()">
Get the set of all units used in this instruction durations.
**Return type**
`set`\[`str`]
**Returns**
Set of units used in this instruction durations.
</Function>
<span id="dynamiccircuitinstructiondurations-update" />
### update
<Function id="qiskit_ibm_provider.transpiler.passes.scheduling.DynamicCircuitInstructionDurations.update" signature="DynamicCircuitInstructionDurations.update(inst_durations, dt=None)">
Update self with inst\_durations (inst\_durations overwrite self). Overrides the default durations for certain hardcoded instructions.
**Parameters**
* **inst\_durations** (`Union`\[`List`\[`Tuple`\[`str`, `Optional`\[`Iterable`\[`int`]], `float`, `Optional`\[`Iterable`\[`float`]], `str`]], `List`\[`Tuple`\[`str`, `Optional`\[`Iterable`\[`int`]], `float`, `Optional`\[`Iterable`\[`float`]]]], `List`\[`Tuple`\[`str`, `Optional`\[`Iterable`\[`int`]], `float`, `str`]], `List`\[`Tuple`\[`str`, `Optional`\[`Iterable`\[`int`]], `float`]], [`InstructionDurations`](/api/qiskit/qiskit.transpiler.InstructionDurations "(in Qiskit v0.45)"), `None`]) Instruction durations to be merged into self (overwriting self).
* **dt** (`Optional`\[`float`]) Sampling duration in seconds of the target backend.
**Returns**
The updated InstructionDurations.
**Return type**
InstructionDurations
**Raises**
**TranspilerError** If the format of instruction\_durations is invalid.
</Function>
</Class>