Proveedor falso
qiskit_ibm_runtime.fake_provider
Visión general
El módulo de falsos proveedores contiene clases de falsos proveedores y falsos backends. Los backends falsos se construyen para imitar los comportamientos de los sistemas IBM Quantum utilizando instantáneas del sistema. Las instantáneas del sistema contienen información importante sobre el sistema cuántico, como el mapa de acoplamiento, las puertas base, las propiedades de los qubits ( T1, T2, tasa de error, etc.) que son útiles para probar el transpilador y realizar simulaciones ruidosas del sistema.
Uso de ejemplo
He aquí un ejemplo de utilización de un backend falso para la transpilación y la simulación.
from qiskit import QuantumCircuit
from qiskit import transpile
from qiskit.visualization import plot_histogram
from qiskit_ibm_runtime import SamplerV2
from qiskit_ibm_runtime.fake_provider import FakeManilaV2
# Get a fake backend from the fake provider
backend = FakeManilaV2()
# Create a simple circuit
circuit = QuantumCircuit(3)
circuit.h(0)
circuit.cx(0,1)
circuit.cx(0,2)
circuit.measure_all()
circuit.draw('mpl', style="iqp")
# Transpile the ideal circuit to a circuit that can be
# directly executed by the backend
transpiled_circuit = transpile(circuit, backend)
transpiled_circuit.draw('mpl', style="iqp")
# Run the transpiled circuit using the simulated fake backend
sampler = SamplerV2(backend)
job = sampler.run([transpiled_circuit])
pub_result = job.result()[0]
counts = pub_result.data.meas.get_counts()
plot_histogram(counts)
Tenga en cuenta que la simulación se realiza utilizando un modelo de ruido generado a partir de instantáneas del sistema obtenidas en el pasado (a veces hace unos años) y los resultados no son representativos de los últimos comportamientos del sistema cuántico real que el backend falso está imitando. Si desea ejecutar simulaciones ruidosas con las últimas instantáneas del backend, puede utilizar el método refresh() .
from qiskit_ibm_runtime import QiskitRuntimeService
from qiskit_ibm_runtime.fake_provider import FakeSherbrooke
# initialize service to access real backends
service = QiskitRuntimeService()
# call refresh to retrieve latest backend data
# note that this overwrites your local qiskit-ibm-runtime files
backend = FakeSherbrooke()
backend.refresh(service)Proveedores falsos
Los proveedores falsos proporcionan acceso a una lista de backends falsos.
FakeProviderForBackendV2 | Proveedor falso que contiene backends V2 falsos. |
Backends falsos
Backends falsos de V2
Los backends falsos V2 son backends falsos con instantáneas de sistemas Quantum IBM implementados con la interfaz BackendV2 . Todas ellas son subclases de FakeBackendV2.
FakeAachen | Un falso backend de 156 qubits. |
FakeAlgiers | Un falso backend de 27 qubits. |
FakeAlmadenV2 | Un falso backend de Almaden V2. |
FakeArmonkV2 | Un falso backend de 1 qubit. |
FakeAthensV2 | Un falso backend de 5 qubits. |
FakeAuckland | Un falso backend de 27 qubits. |
FakeBelemV2 | Un falso backend de 5 qubits. |
FakeBerlin | Un backend ficticio de 120 qubits. |
FakeBoeblingenV2 | Un falso backend de Boeblingen V2. |
FakeBogotaV2 | Un falso backend de 5 qubits. |
FakeBoston | Un falso backend de 156 qubits. |
FakeBrisbane | Un falso backend de 127 qubits. |
FakeBrooklynV2 | Un falso backend de Brooklyn V2. |
FakeBrussels | Un falso backend de 127 qubits. |
FakeBurlingtonV2 | Un falso backend de 5 qubits. |
FakeCairoV2 | Un falso backend de 27 qubits. |
FakeCambridgeV2 | Un falso backend de Cambridge. |
FakeCasablancaV2 | Un falso backend de 7 qubits. |
FakeCusco | Un falso backend de 127 qubits. |
FakeEssexV2 | Un falso backend de 5 qubits. |
FakeFez | Un falso backend de 156 qubits. |
FakeGeneva | Un falso backend de 27 qubits. |
FakeGuadalupeV2 | Un falso backend de 16 qubits. |
FakeHanoiV2 | Un falso backend de 27 qubits. |
FakeJakartaV2 | Un falso 7 qubit V2 backend. |
FakeJohannesburgV2 | Un falso backend de Johannesburgo V2. |
FakeKawasaki | Un falso backend de 127 qubits. |
FakeKingston | Un falso backend de 156 qubits. |
FakeKolkataV2 | Un falso backend de 27 qubits. |
FakeKyiv | Un falso backend de 127 qubits. |
FakeKyoto | Un falso backend de 127 qubits. |
FakeLagosV2 | Un falso backend de 7 qubits. |
FakeLimaV2 | Un falso backend de 5 qubits. |
FakeFractionalBackend | Un falso backend de 5 qubits con característica dinámica y fraccional modelado basado en FakeLima. |
FakeLondonV2 | Un falso backend de 5 qubits. |
FakeManhattanV2 | Un falso backend de Manhattan. |
FakeManilaV2 | Un falso backend de 5 qubits. |
FakeMarrakesh | Un falso backend de 156 qubits. |
FakeMelbourneV2 | Un falso backend de 15 qubits. |
FakeMiami | Un backend ficticio de 120 qubits. |
FakeMontrealV2 | Un falso backend de 27 qubits. |
FakeMumbaiV2 | Un falso backend de 27 qubits. |
FakeNairobiV2 | Un falso backend de 7 qubits. |
FakeOsaka | Un falso backend de 127 qubits. |
FakeOslo | Un falso backend de 7 qubits. |
FakeOurenseV2 | Un falso backend de 5 qubits. |
FakeParisV2 | Un falso backend de París. |
FakePeekskill | Un falso backend de 27 qubits. |
FakePerth | Un falso backend de 7 qubits. |
FakePittsburgh | Un falso backend de 156 qubits. |
FakePrague | Un falso backend de 33 qubits. |
FakePoughkeepsieV2 | Un falso backend de Poughkeepsie. |
FakeQuebec | Un falso backend de 127 qubits. |
FakeQuitoV2 | Un falso backend de 5 qubits. |
FakeRochesterV2 | Un falso Rochester backend. |
FakeRomeV2 | Un falso backend de 5 qubits. |
FakeSantiagoV2 | Un falso backend de Santiago. |
FakeSherbrooke | Un falso backend de 127 qubits. |
FakeSingaporeV2 | Un falso backend de Singapur. |
FakeStrasbourg | Un falso backend de 127 qubits. |
FakeSydneyV2 | Un falso backend de 27 qubits. |
FakeTorino | Un falso backend de 133 qubits. |
FakeTorontoV2 | Un falso backend de 27 qubits. |
FakeValenciaV2 | Un falso backend de 5 qubits. |
FakeVigoV2 | Un falso backend de 5 qubits. |
FakeWashingtonV2 | Un falso backend de 127 qubits. |
FakeYorktownV2 | Un falso backend de 5 qubits. |