133 lines
8.3 KiB
Plaintext
133 lines
8.3 KiB
Plaintext
---
|
||
title: fake_provider (v1.2)
|
||
description: API reference for qiskit.providers.fake_provider in qiskit v1.2
|
||
in_page_toc_min_heading_level: 2
|
||
python_api_type: module
|
||
python_api_name: qiskit.providers.fake_provider
|
||
---
|
||
|
||
<span id="module-qiskit.providers.fake_provider" />
|
||
|
||
<span id="qiskit-providers-fakeprovider" />
|
||
|
||
<span id="fake-provider-qiskit-providers-fake-provider" />
|
||
|
||
# Fake Provider
|
||
|
||
`qiskit.providers.fake_provider`
|
||
|
||
## Overview
|
||
|
||
The fake provider module in Qiskit contains fake (simulated) backend classes useful for testing the transpiler and other backend-facing functionality.
|
||
|
||
### Example Usage
|
||
|
||
Here is an example of using a simulated backend for transpilation and running.
|
||
|
||
```python
|
||
from qiskit import QuantumCircuit, transpile
|
||
from qiskit.providers.fake_provider import GenericBackendV2
|
||
from qiskit.visualization import plot_histogram
|
||
|
||
# Generate a 5-qubit simulated backend
|
||
backend = GenericBackendV2(num_qubits=5)
|
||
|
||
# Create a simple circuit
|
||
circuit = QuantumCircuit(3)
|
||
circuit.h(0)
|
||
circuit.cx(0,1)
|
||
circuit.cx(0,2)
|
||
circuit.measure_all()
|
||
circuit.draw('mpl')
|
||
|
||
# Transpile the ideal circuit to a circuit that can be directly executed by the backend
|
||
transpiled_circuit = transpile(circuit, backend)
|
||
transpiled_circuit.draw('mpl')
|
||
|
||
# Run the transpiled circuit using the simulated backend
|
||
job = backend.run(transpiled_circuit)
|
||
counts = job.result().get_counts()
|
||
plot_histogram(counts)
|
||
```
|
||
|
||

|
||
|
||

|
||
|
||

|
||
|
||
## V2 Simulated Backends
|
||
|
||
| | |
|
||
| ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
|
||
| [`GenericBackendV2`](qiskit.providers.fake_provider.GenericBackendV2 "qiskit.providers.fake_provider.GenericBackendV2")(num\_qubits\[, basis\_gates, ...]) | Generic [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2") implementation with a configurable constructor. |
|
||
|
||
## V1 Fake Backends (Legacy interface)
|
||
|
||
| | |
|
||
| ---------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
|
||
| [`FakeOpenPulse2Q`](qiskit.providers.fake_provider.FakeOpenPulse2Q "qiskit.providers.fake_provider.FakeOpenPulse2Q")() | A fake 2 qubit backend for pulse test. |
|
||
| [`FakeOpenPulse3Q`](qiskit.providers.fake_provider.FakeOpenPulse3Q "qiskit.providers.fake_provider.FakeOpenPulse3Q")() | Trivial extension of the FakeOpenPulse2Q. |
|
||
| [`Fake1Q`](qiskit.providers.fake_provider.Fake1Q "qiskit.providers.fake_provider.Fake1Q")() | A fake 1Q backend. |
|
||
| [`Fake5QV1`](qiskit.providers.fake_provider.Fake5QV1 "qiskit.providers.fake_provider.Fake5QV1")() | A fake backend with the following characteristics: |
|
||
| [`Fake20QV1`](qiskit.providers.fake_provider.Fake20QV1 "qiskit.providers.fake_provider.Fake20QV1")() | A fake backend with the following characteristics: |
|
||
| [`Fake7QPulseV1`](qiskit.providers.fake_provider.Fake7QPulseV1 "qiskit.providers.fake_provider.Fake7QPulseV1")() | A fake **pulse** backend with the following characteristics: |
|
||
| [`Fake27QPulseV1`](qiskit.providers.fake_provider.Fake27QPulseV1 "qiskit.providers.fake_provider.Fake27QPulseV1")() | A fake **pulse** backend with the following characteristics: |
|
||
| [`Fake127QPulseV1`](qiskit.providers.fake_provider.Fake127QPulseV1 "qiskit.providers.fake_provider.Fake127QPulseV1")() | A fake **pulse** backend with the following characteristics: |
|
||
|
||
## Fake Backend Base Classes
|
||
|
||
The V1 fake backends are based on a set of base classes:
|
||
|
||
### FakeBackend
|
||
|
||
<Class id="qiskit.providers.fake_provider.FakeBackend" github="https://github.com/Qiskit/qiskit/tree/stable/1.2/qiskit/providers/fake_provider/fake_backend.py#L39-L165" signature="qiskit.providers.fake_provider.FakeBackend(configuration, time_alive=10)" modifiers="class">
|
||
This is a dummy backend just for testing purposes.
|
||
|
||
FakeBackend initializer.
|
||
|
||
<Admonition title="Deprecated since version 1.2" type="danger">
|
||
The class `qiskit.providers.fake_provider.fake_backend.FakeBackend` is deprecated as of qiskit 1.2. It will be removed in the 2.0 release. Fake backends using BackendV1 are deprecated in favor of [`GenericBackendV2`](qiskit.providers.fake_provider.GenericBackendV2 "qiskit.providers.fake_provider.GenericBackendV2"). You can convert BackendV1 to [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2") with [`BackendV2Converter`](qiskit.providers.BackendV2Converter "qiskit.providers.BackendV2Converter").
|
||
</Admonition>
|
||
|
||
**Parameters**
|
||
|
||
* **configuration** ([*BackendConfiguration*](qiskit.providers.models.BackendConfiguration "qiskit.providers.models.BackendConfiguration")) – backend configuration
|
||
* **time\_alive** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")) – time to wait before returning result
|
||
</Class>
|
||
|
||
### FakeQasmBackend
|
||
|
||
<Class id="qiskit.providers.fake_provider.FakeQasmBackend" github="https://github.com/Qiskit/qiskit/tree/stable/1.2/qiskit/providers/fake_provider/fake_qasm_backend.py#L32-L77" signature="qiskit.providers.fake_provider.FakeQasmBackend" modifiers="class">
|
||
A fake OpenQASM backend.
|
||
|
||
FakeBackend initializer.
|
||
|
||
<Admonition title="Deprecated since version 1.2" type="danger">
|
||
The class `qiskit.providers.fake_provider.fake_backend.FakeBackend` is deprecated as of qiskit 1.2. It will be removed in the 2.0 release. Fake backends using BackendV1 are deprecated in favor of [`GenericBackendV2`](qiskit.providers.fake_provider.GenericBackendV2 "qiskit.providers.fake_provider.GenericBackendV2"). You can convert BackendV1 to [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2") with [`BackendV2Converter`](qiskit.providers.BackendV2Converter "qiskit.providers.BackendV2Converter").
|
||
</Admonition>
|
||
|
||
**Parameters**
|
||
|
||
* **configuration** ([*BackendConfiguration*](qiskit.providers.models.BackendConfiguration "qiskit.providers.models.BackendConfiguration")) – backend configuration
|
||
* **time\_alive** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")) – time to wait before returning result
|
||
</Class>
|
||
|
||
### FakePulseBackend
|
||
|
||
<Class id="qiskit.providers.fake_provider.FakePulseBackend" github="https://github.com/Qiskit/qiskit/tree/stable/1.2/qiskit/providers/fake_provider/fake_pulse_backend.py#L25-L44" signature="qiskit.providers.fake_provider.FakePulseBackend" modifiers="class">
|
||
A fake pulse backend.
|
||
|
||
FakeBackend initializer.
|
||
|
||
<Admonition title="Deprecated since version 1.2" type="danger">
|
||
The class `qiskit.providers.fake_provider.fake_backend.FakeBackend` is deprecated as of qiskit 1.2. It will be removed in the 2.0 release. Fake backends using BackendV1 are deprecated in favor of [`GenericBackendV2`](qiskit.providers.fake_provider.GenericBackendV2 "qiskit.providers.fake_provider.GenericBackendV2"). You can convert BackendV1 to [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2") with [`BackendV2Converter`](qiskit.providers.BackendV2Converter "qiskit.providers.BackendV2Converter").
|
||
</Admonition>
|
||
|
||
**Parameters**
|
||
|
||
* **configuration** ([*BackendConfiguration*](qiskit.providers.models.BackendConfiguration "qiskit.providers.models.BackendConfiguration")) – backend configuration
|
||
* **time\_alive** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")) – time to wait before returning result
|
||
</Class>
|
||
|