diff --git a/releasenotes/notes/add-generic-fake-backend-c1434e0c5c413935.yaml b/releasenotes/notes/add-generic-fake-backend-c1434e0c5c413935.yaml index 5ed3d79457e8..2f5a98d15909 100644 --- a/releasenotes/notes/add-generic-fake-backend-c1434e0c5c413935.yaml +++ b/releasenotes/notes/add-generic-fake-backend-c1434e0c5c413935.yaml @@ -1,9 +1,10 @@ --- features: - | - A new class, :class:`.GenericFakeBackend` has been added to the :mod:`qiskit.providers.fake_provider` - module. This class allows to build a configurable :class:`~.BackendV2` fake backend instance that can - be ran locally. Users can configure the number of qubits, basis gates, coupling map, + A new function, :func:`.make_generic_backend` has been added to the :mod:`qiskit.providers.fake_provider` + module. This function generates customized :class:`~.BackendV2` instances which run locally via a + the Aer simulator (if installed) or else using :class:`~.BasicAer`. + Users can configure the number of qubits, basis gates, coupling map, ability to run dynamic circuits (control flow instructions), instruction calibrations and dtm of the backend without having to deal with manual target construction. Qubit and gate properties are generated by randomly sampling from default ranges. The seed for this random generation is always fixed @@ -12,7 +13,7 @@ features: Example usage 1:: from qiskit import QuantumCircuit, transpile - from qiskit.providers.fake_provider import GenericFakeBackend + from qiskit.providers.fake_provider import make_generic_backend # Create a simple circuit circuit = QuantumCircuit(3) @@ -23,7 +24,7 @@ features: circuit.draw('mpl') # Define backend with 3 qubits - backend = GenericFakeBackend(num_qubits=3) + backend = make_generic_backend(num_qubits=3) # Transpile and run transpiled_circuit = transpile(circuit, backend) @@ -32,7 +33,7 @@ features: Example usage 2:: from qiskit import QuantumCircuit, ClassicalRegister, transpile - from qiskit.providers.fake_provider import GenericFakeBackend + from qiskit.providers.fake_provider import make_generic_backend # Create a circuit with classical control creg = ClassicalRegister(19) @@ -46,7 +47,7 @@ features: qc.ecr(20, 21).c_if(creg, 0) # Define backend with custom basis gates and control flow instructions - backend = GenericFakeBackend(num_qubits=25, basis_gates = ["ecr","id","rz","sx","x"], control_flow=True) + backend = make_generic_backend(num_qubits=25, basis_gates = ["ecr","id","rz","sx","x"], control_flow=True) #Transpile transpiled_qc = transpile(qc, backend) @@ -55,6 +56,6 @@ features: The noise properties generated by these class do not mimic any concrete quantum device, and should not be used to measure any concrete behaviors. They are "reasonable defaults" that can be used to - test backend-interfacing functionality not tied specific noise values of real quantum systems. + test backend-interfacing functionality not tied to specific noise values of real quantum systems. For a more accurate simulation of existing devices, you can manually build a noise model from the real backend using the functionality offered in ``qiskit-aer``.