355 lines
12 KiB
Plaintext
355 lines
12 KiB
Plaintext
---
|
||
title: FakeMarrakesh (dev version)
|
||
description: API reference for qiskit_ibm_runtime.fake_provider.FakeMarrakesh in the dev version of qiskit-ibm-runtime
|
||
in_page_toc_min_heading_level: 1
|
||
python_api_type: class
|
||
python_api_name: qiskit_ibm_runtime.fake_provider.FakeMarrakesh
|
||
---
|
||
|
||
# FakeMarrakesh
|
||
|
||
<Class id="qiskit_ibm_runtime.fake_provider.FakeMarrakesh" isDedicatedPage={true} github="https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/marrakesh/fake_marrakesh.py#L21-L28" signature="FakeMarrakesh" modifiers="class">
|
||
Bases: `FakeBackendV2`
|
||
|
||
A fake 156 qubit backend.
|
||
|
||
FakeBackendV2 initializer.
|
||
|
||
## Attributes
|
||
|
||
### backend\_name
|
||
|
||
<Attribute id="qiskit_ibm_runtime.fake_provider.FakeMarrakesh.backend_name" attributeValue="'fake_marrakesh'" />
|
||
|
||
### conf\_filename
|
||
|
||
<Attribute id="qiskit_ibm_runtime.fake_provider.FakeMarrakesh.conf_filename" attributeValue="'conf_marrakesh.json'" />
|
||
|
||
### coupling\_map
|
||
|
||
<Attribute id="qiskit_ibm_runtime.fake_provider.FakeMarrakesh.coupling_map">
|
||
Return the [`CouplingMap`](/api/qiskit/qiskit.transpiler.CouplingMap "(in Qiskit v2.0)") object
|
||
</Attribute>
|
||
|
||
### defs\_filename
|
||
|
||
<Attribute id="qiskit_ibm_runtime.fake_provider.FakeMarrakesh.defs_filename" attributeValue="'defs_marrakesh.json'" />
|
||
|
||
### dirname
|
||
|
||
<Attribute id="qiskit_ibm_runtime.fake_provider.FakeMarrakesh.dirname" attributeValue="'/home/runner/work/qiskit-ibm-runtime/qiskit-ibm-runtime/qiskit_ibm_runtime/fake_provider/backends/marrakesh'" />
|
||
|
||
### dt
|
||
|
||
<Attribute id="qiskit_ibm_runtime.fake_provider.FakeMarrakesh.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.
|
||
</Attribute>
|
||
|
||
### dtm
|
||
|
||
<Attribute id="qiskit_ibm_runtime.fake_provider.FakeMarrakesh.dtm">
|
||
Return the system time resolution of output signals
|
||
|
||
**Returns**
|
||
|
||
The output signal timestep in seconds.
|
||
</Attribute>
|
||
|
||
### instruction\_durations
|
||
|
||
<Attribute id="qiskit_ibm_runtime.fake_provider.FakeMarrakesh.instruction_durations">
|
||
Return the [`InstructionDurations`](/api/qiskit/qiskit.transpiler.InstructionDurations "(in Qiskit v2.0)") object.
|
||
</Attribute>
|
||
|
||
### instructions
|
||
|
||
<Attribute id="qiskit_ibm_runtime.fake_provider.FakeMarrakesh.instructions">
|
||
A list of Instruction tuples on the backend of the form `(instruction, (qubits)`
|
||
</Attribute>
|
||
|
||
### max\_circuits
|
||
|
||
<Attribute id="qiskit_ibm_runtime.fake_provider.FakeMarrakesh.max_circuits">
|
||
(DEPRECATED) The maximum number of circuits
|
||
|
||
The maximum number of circuits that the backend supports in a single execution. Note that the actual number of circuits the service allows may be different.
|
||
</Attribute>
|
||
|
||
### meas\_map
|
||
|
||
<Attribute id="qiskit_ibm_runtime.fake_provider.FakeMarrakesh.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
|
||
</Attribute>
|
||
|
||
### num\_qubits
|
||
|
||
<Attribute id="qiskit_ibm_runtime.fake_provider.FakeMarrakesh.num_qubits">
|
||
Return the number of qubits the backend has.
|
||
</Attribute>
|
||
|
||
### operation\_names
|
||
|
||
<Attribute id="qiskit_ibm_runtime.fake_provider.FakeMarrakesh.operation_names">
|
||
A list of instruction names that the backend supports.
|
||
</Attribute>
|
||
|
||
### operations
|
||
|
||
<Attribute id="qiskit_ibm_runtime.fake_provider.FakeMarrakesh.operations">
|
||
A list of [`Instruction`](/api/qiskit/qiskit.circuit.Instruction "(in Qiskit v2.0)") instances that the backend supports.
|
||
</Attribute>
|
||
|
||
### options
|
||
|
||
<Attribute id="qiskit_ibm_runtime.fake_provider.FakeMarrakesh.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()`](#qiskit_ibm_runtime.fake_provider.FakeMarrakesh.run "qiskit_ibm_runtime.fake_provider.FakeMarrakesh.run") method.
|
||
</Attribute>
|
||
|
||
### props\_filename
|
||
|
||
<Attribute id="qiskit_ibm_runtime.fake_provider.FakeMarrakesh.props_filename" attributeValue="'props_marrakesh.json'" />
|
||
|
||
### provider
|
||
|
||
<Attribute id="qiskit_ibm_runtime.fake_provider.FakeMarrakesh.provider">
|
||
Return the backend provider.
|
||
|
||
**Returns**
|
||
|
||
the provider responsible for the backend.
|
||
|
||
**Return type**
|
||
|
||
provider
|
||
</Attribute>
|
||
|
||
### target
|
||
|
||
<Attribute id="qiskit_ibm_runtime.fake_provider.FakeMarrakesh.target">
|
||
A [`qiskit.transpiler.Target`](/api/qiskit/qiskit.transpiler.Target "(in Qiskit v2.0)") object for the backend.
|
||
|
||
**Return type**
|
||
|
||
Target
|
||
</Attribute>
|
||
|
||
### version
|
||
|
||
<Attribute id="qiskit_ibm_runtime.fake_provider.FakeMarrakesh.version" attributeValue="2" />
|
||
|
||
### name
|
||
|
||
<Attribute id="qiskit_ibm_runtime.fake_provider.FakeMarrakesh.name">
|
||
Name of the backend.
|
||
</Attribute>
|
||
|
||
### description
|
||
|
||
<Attribute id="qiskit_ibm_runtime.fake_provider.FakeMarrakesh.description">
|
||
Optional human-readable description.
|
||
</Attribute>
|
||
|
||
### online\_date
|
||
|
||
<Attribute id="qiskit_ibm_runtime.fake_provider.FakeMarrakesh.online_date">
|
||
Date that the backend came online.
|
||
</Attribute>
|
||
|
||
### backend\_version
|
||
|
||
<Attribute id="qiskit_ibm_runtime.fake_provider.FakeMarrakesh.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.
|
||
</Attribute>
|
||
|
||
## Methods
|
||
|
||
### check\_faulty
|
||
|
||
<Function id="qiskit_ibm_runtime.fake_provider.FakeMarrakesh.check_faulty" github="https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L197-L229" signature="check_faulty(circuit)">
|
||
Check if the input circuit uses faulty qubits or edges.
|
||
|
||
**Parameters**
|
||
|
||
**circuit** ([*QuantumCircuit*](/api/qiskit/qiskit.circuit.QuantumCircuit "(in Qiskit v2.0)")) – Circuit to check.
|
||
|
||
**Raises**
|
||
|
||
**ValueError** – If an instruction operating on a faulty qubit or edge is found.
|
||
|
||
**Return type**
|
||
|
||
None
|
||
</Function>
|
||
|
||
### configuration
|
||
|
||
<Function id="qiskit_ibm_runtime.fake_provider.FakeMarrakesh.configuration" github="https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L193-L195" signature="configuration()">
|
||
Return the backend configuration.
|
||
|
||
**Return type**
|
||
|
||
*QasmBackendConfiguration*
|
||
</Function>
|
||
|
||
### defaults
|
||
|
||
<Function id="qiskit_ibm_runtime.fake_provider.FakeMarrakesh.defaults" github="https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L170-L191" signature="defaults(refresh=False)">
|
||
(DEPRECATED)Return the pulse defaults for the backend
|
||
|
||
**Parameters**
|
||
|
||
**refresh** (*bool*) – If `True`, re-retrieve the backend defaults from the local file.
|
||
|
||
**Returns**
|
||
|
||
The backend pulse defaults or `None` if the backend does not support pulse.
|
||
|
||
**Return type**
|
||
|
||
*PulseDefaults*
|
||
</Function>
|
||
|
||
### properties
|
||
|
||
<Function id="qiskit_ibm_runtime.fake_provider.FakeMarrakesh.properties" github="https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L157-L168" signature="properties(refresh=False)">
|
||
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*
|
||
</Function>
|
||
|
||
### qubit\_properties
|
||
|
||
<Function id="qiskit_ibm_runtime.fake_provider.FakeMarrakesh.qubit_properties" signature="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*](/api/qiskit/qiskit.providers.QubitProperties "(in Qiskit v2.0)") | *List*\[[*QubitProperties*](/api/qiskit/qiskit.providers.QubitProperties "(in Qiskit v2.0)")]
|
||
</Function>
|
||
|
||
### refresh
|
||
|
||
<Function id="qiskit_ibm_runtime.fake_provider.FakeMarrakesh.refresh" github="https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L425-L501" signature="refresh(service)">
|
||
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*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance
|
||
|
||
**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
|
||
</Function>
|
||
|
||
### run
|
||
|
||
<Function id="qiskit_ibm_runtime.fake_provider.FakeMarrakesh.run" github="https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L309-L340" signature="run(run_input, **options)">
|
||
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`](/api/qiskit/qiskit.providers.Job "(in Qiskit v2.0)") 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`](/api/qiskit/qiskit.circuit.QuantumCircuit "(in Qiskit v2.0)")
|
||
* **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
|
||
</Function>
|
||
|
||
### set\_options
|
||
|
||
<Function id="qiskit_ibm_runtime.fake_provider.FakeMarrakesh.set_options" signature="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
|
||
</Function>
|
||
|
||
### status
|
||
|
||
<Function id="qiskit_ibm_runtime.fake_provider.FakeMarrakesh.status" github="https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L139-L155" signature="status()">
|
||
Return the backend status.
|
||
|
||
**Returns**
|
||
|
||
The status of the backend.
|
||
|
||
**Return type**
|
||
|
||
*BackendStatus*
|
||
</Function>
|
||
</Class>
|
||
|