FakeFractionalBackend¶
- class FakeFractionalBackend[source]¶
Bases:
FakeBackendV2A fake 5 qubit backend with dynamic and fractional feature modeled based on FakeLima.
This backend include following features.
Fractional gates (rx, rzx) in addition to the standard basis gates.
Control flow operations (if_else, while_loop).
Pulse calibrations (fractional gates don’t support calibration).
Gate properties of all instructions.
FakeBackendV2 initializer.
Attributes
- backend_name = 'fake_fractional'¶
- conf_filename = 'conf_fractional.json'¶
- coupling_map¶
Return the
CouplingMapobject
- dirname = '/home/runner/work/qiskit-ibm-runtime/qiskit-ibm-runtime/qiskit_ibm_runtime/fake_provider/backends/fractional'¶
- 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,Nonewill be returned.
- dtm¶
Return the system time resolution of output signals
- Returns:
The output signal timestep in seconds.
- instruction_durations¶
Return the
InstructionDurationsobject.
- 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
Instructioninstances 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_fractional.json'¶
- provider¶
Return the backend provider.
- Returns:
the provider responsible for the backend.
- Return type:
provider
- target¶
A
qiskit.transpiler.Targetobject 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 theBackendabstract 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
- 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:
- 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
QubitPropertiesobject for. This can be a single integer for 1 qubit or a list of qubits and a list ofQubitPropertiesobjects will be returned in the same order- Returns:
The
QubitPropertiesobject 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 beNone.- 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-runtimeis upgraded or reinstalled.- Parameters:
service (QiskitRuntimeService) – A
QiskitRuntimeServiceinstanceuse_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
Jobobject.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
QuantumCircuitoptions – 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