FakeMelbourneV2

class FakeMelbourneV2[source]

Bases: FakeBackendV2

A fake 15 qubit backend.

FakeBackendV2 initializer.

Attributes

backend_name = 'fake_melbourne'
conf_filename = 'conf_melbourne.json'
coupling_map

Return the CouplingMap object

dirname = '/home/runner/work/qiskit-ibm-runtime/qiskit-ibm-runtime/qiskit_ibm_runtime/fake_provider/backends/melbourne'
dt

Return the system time resolution of input signals

This is required to be implemented if the backend supports Pulse scheduling.

Returns:

The input signal timestep in seconds. If the backend doesn’t define dt, None will be returned.

dtm

Return the system time resolution of output signals

Returns:

The output signal timestep in seconds.

instruction_durations

Return the InstructionDurations object.

instructions

A list of Instruction tuples on the backend of the form (instruction, (qubits)

max_circuits

This property used to return the max_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits.

meas_map

Return the grouping of measurements which are multiplexed

This is required to be implemented if the backend supports Pulse scheduling.

Returns:

The grouping of measurements which are multiplexed

Raises:

NotImplementedError – if the backend doesn’t support querying the measurement mapping

num_qubits

Return the number of qubits the backend has.

operation_names

A list of instruction names that the backend supports.

operations

A list of Instruction instances that the backend supports.

options

Return the options for the backend

The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the run() method.

props_filename = 'props_melbourne.json'
provider

Return the backend provider.

Returns:

the provider responsible for the backend.

Return type:

provider

target

A qiskit.transpiler.Target object for the backend.

Return type:

Target

version = 2
name

Name of the backend.

description

Optional human-readable description.

online_date

Date that the backend came online.

backend_version

Version of the backend being provided. This is not the same as BackendV2.version, which is the version of the Backend abstract interface.

Methods

check_faulty(circuit)[source]

Check if the input circuit uses faulty qubits or edges.

Parameters:

circuit (QuantumCircuit) – Circuit to check.

Raises:

ValueError – If an instruction operating on a faulty qubit or edge is found.

Return type:

None

configuration()[source]

Return the backend configuration.

Return type:

QasmBackendConfiguration

properties(refresh=False)[source]

Return the backend properties

Parameters:

refresh (bool) – If True, re-retrieve the backend properties from the local file.

Returns:

The backend properties.

Return type:

BackendProperties

qubit_properties(qubit)

Return QubitProperties for a given qubit.

If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented.

Parameters:

qubit (int | List[int]) – The qubit to get the QubitProperties object for. This can be a single integer for 1 qubit or a list of qubits and a list of QubitProperties objects will be returned in the same order

Returns:

The QubitProperties object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be None.

Raises:

NotImplementedError – if the backend doesn’t support querying the qubit properties

Return type:

QubitProperties | List[QubitProperties]

refresh(service, use_fractional_gates=False)[source]

Update the data files from its real counterpart

This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation:

  • ../fake_provider/backends/{backend_name}/conf_{backend_name}.json

  • ../fake_provider/backends/{backend_name}/defs_{backend_name}.json

  • ../fake_provider/backends/{backend_name}/props_{backend_name}.json

The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when qiskit-ibm-runtime is upgraded or reinstalled.

Parameters:
  • service (QiskitRuntimeService) – A QiskitRuntimeService instance

  • use_fractional_gates (bool) – Set True to allow for the backends to include fractional gates.

Raises:
  • ValueError – if the provided service is a non-QiskitRuntimeService instance.

  • Exception – If the real target doesn’t exist or can’t be accessed

Return type:

None

run(run_input, **options)[source]

Run on the fake backend using a simulator.

This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a Job object.

If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise.

Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2.

Parameters:
  • run_input (QuantumCircuit or list) – An individual or a list of QuantumCircuit

  • options – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object.

Returns:

The job object for the run

Return type:

Job

set_options(**fields)

Set the options fields for the backend

This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options.

Parameters:

fields – The fields to update the options

Raises:

AttributeError – If the field passed in is not part of the options

status()[source]

Return the backend status.

Returns:

The status of the backend.

Return type:

BackendStatus