Skip to content

Commit 3eb3538

Browse files
authored
Add dt to GenericBackendV2 (#13830)
1 parent 9ca951c commit 3eb3538

File tree

3 files changed

+28
-2
lines changed

3 files changed

+28
-2
lines changed

qiskit/providers/fake_provider/generic_backend_v2.py

+7-2
Original file line numberDiff line numberDiff line change
@@ -530,6 +530,7 @@ def __init__(
530530
control_flow: bool = False,
531531
calibrate_instructions: bool | InstructionScheduleMap | None = None,
532532
dtm: float | None = None,
533+
dt: float | None = None,
533534
seed: int | None = None,
534535
pulse_channels: bool = True,
535536
noise_info: bool = True,
@@ -579,6 +580,9 @@ def __init__(
579580
dtm: System time resolution of output signals in nanoseconds.
580581
None by default.
581582
583+
dt: System time resolution of input signals in nanoseconds.
584+
None by default.
585+
582586
seed: Optional seed for generation of default values.
583587
584588
pulse_channels: DEPRECATED. If true, sets default pulse channel information on the backend.
@@ -596,6 +600,7 @@ def __init__(
596600
self._sim = None
597601
self._rng = np.random.default_rng(seed=seed)
598602
self._dtm = dtm
603+
self._dt = dt
599604
self._num_qubits = num_qubits
600605
self._control_flow = control_flow
601606
self._calibrate_instructions = calibrate_instructions
@@ -788,15 +793,15 @@ def _build_generic_target(self):
788793
self._target = Target(
789794
description=f"Generic Target with {self._num_qubits} qubits",
790795
num_qubits=self._num_qubits,
791-
dt=properties["dt"],
796+
dt=properties["dt"] if self._dt is None else self._dt,
792797
qubit_properties=None,
793798
concurrent_measurements=[list(range(self._num_qubits))],
794799
)
795800
else:
796801
self._target = Target(
797802
description=f"Generic Target with {self._num_qubits} qubits",
798803
num_qubits=self._num_qubits,
799-
dt=properties["dt"],
804+
dt=properties["dt"] if self._dt is None else self._dt,
800805
qubit_properties=[
801806
QubitProperties(
802807
t1=self._rng.uniform(properties["t1"][0], properties["t1"][1]),
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
features_providers:
3+
- |
4+
Added the ability to set the ``dt`` property of :class:`.GenericBackendV2` in the class initializer
5+
with a new ``dt`` argument. Example usage::
6+
7+
from qiskit.providers.fake_provider import GenericBackendV2
8+
backend = GenericBackendV2(
9+
num_qubits=5,
10+
basis_gates=["cx", "id", "rz", "sx", "x"],
11+
dt= 2.22*e-10,
12+
seed=42)

test/python/providers/fake_provider/test_generic_backend_v2.py

+9
Original file line numberDiff line numberDiff line change
@@ -227,3 +227,12 @@ def test_duration_defaults(self):
227227
if inst not in ["delay", "reset"]:
228228
self.assertGreaterEqual(duration, expected_durations[inst][0])
229229
self.assertLessEqual(duration, expected_durations[inst][1])
230+
231+
def test_custom_dt(self):
232+
"""Test that the custom dt is respected."""
233+
234+
ref_backend = GenericBackendV2(num_qubits=2, basis_gates=["cx", "id"], seed=42)
235+
double_dt_backend = GenericBackendV2(
236+
num_qubits=2, basis_gates=["cx", "id"], dt=ref_backend.dt * 2, seed=42
237+
)
238+
self.assertEqual(ref_backend.dt * 2, double_dt_backend.dt)

0 commit comments

Comments
 (0)