Skip to main content
IBM Quantum Platform

Provedor falso

qiskit_ibm_runtime.fake_provider


Visão geral

O módulo de provedor falso contém classes de provedores falsos e backends falsos. Os back-ends falsos são criados para imitar os comportamentos dos sistemas IBM Quantum usando instantâneos do sistema. Os instantâneos do sistema contêm informações importantes sobre o sistema quântico, como mapa de acoplamento, portas de base, propriedades do qubit ( T1, T2, taxa de erro, etc.) que são úteis para testar o transpilador e realizar simulações com ruído do sistema.


Uso de Exemplo

Aqui está um exemplo de uso de um backend falso para transpilação e simulação.

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")
Diagrama de circuito gerado pelo código anterior.
# 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")
Diagrama de circuito gerado pelo código anterior.
# 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)
Histograma gerado pelo código anterior.
Importante

Observe que a simulação é feita usando um modelo de ruído gerado a partir de instantâneos do sistema obtidos no passado (às vezes há alguns anos) e os resultados não são representativos dos comportamentos mais recentes do sistema quântico real que o backend falso está imitando. Se quiser executar simulações ruidosas com os instantâneos de backend mais recentes, você poderá usar o 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)

Provedores falsos

Os provedores falsos fornecem acesso a uma lista de back-ends falsos.

FakeProviderForBackendV2Provedor falso que contém back-ends falsos do V2.

Backends falsos

Backends falsos do V2

Os backends falsos V2 são backends falsos com instantâneos de sistemas IBM Quantum implementados com a interface BackendV2 . Todos eles são subclasses de FakeBackendV2.

FakeAachenUm backend falso de 156 qubits.
FakeAlgiersUm backend falso de 27 qubits.
FakeAlmadenV2Um backend falso da Almaden V2.
FakeArmonkV2Um backend falso de 1 qubit.
FakeAthensV2Um backend falso de 5 qubits.
FakeAucklandUm backend falso de 27 qubits.
FakeBelemV2Um backend falso de 5 qubits.
FakeBerlinUm backend simulado de 120 qubits.
FakeBoeblingenV2Um backend falso do Boeblingen V2.
FakeBogotaV2Um backend falso de 5 qubits.
FakeBostonUm backend falso de 156 qubits.
FakeBrisbaneUm backend falso de 127 qubits.
FakeBrooklynV2Um backend falso do Brooklyn V2.
FakeBrusselsUm backend falso de 127 qubits.
FakeBurlingtonV2Um backend falso de 5 qubits.
FakeCairoV2Um backend falso de 27 qubits.
FakeCambridgeV2Um backend falso de Cambridge.
FakeCasablancaV2Um backend falso de 7 qubits.
FakeCuscoUm backend falso de 127 qubits.
FakeEssexV2Um backend falso de 5 qubits.
FakeFezUm backend falso de 156 qubits.
FakeGenevaUm backend falso de 27 qubits.
FakeGuadalupeV2Um backend falso de 16 qubits.
FakeHanoiV2Um backend falso de 27 qubits.
FakeJakartaV2Um backend falso de 7 qubit V2.
FakeJohannesburgV2Um backend falso de Johannesburg V2.
FakeKawasakiUm backend falso de 127 qubits.
FakeKingstonUm backend falso de 156 qubits.
FakeKolkataV2Um backend falso de 27 qubits.
FakeKyivUm backend falso de 127 qubits.
FakeKyotoUm backend falso de 127 qubits.
FakeLagosV2Um backend falso de 7 qubits.
FakeLimaV2Um backend falso de 5 qubits.
FakeFractionalBackendUm backend falso de 5 qubits com recurso dinâmico e fracionário modelado com base em FakeLima.
FakeLondonV2Um backend falso de 5 qubits.
FakeManhattanV2Um backend falso de Manhattan.
FakeManilaV2Um backend falso de 5 qubits.
FakeMarrakeshUm backend falso de 156 qubits.
FakeMelbourneV2Um backend falso de 15 qubits.
FakeMiamiUm backend simulado de 120 qubits.
FakeMontrealV2Um backend falso de 27 qubits.
FakeMumbaiV2Um backend falso de 27 qubits.
FakeNairobiV2Um backend falso de 7 qubits.
FakeOsakaUm backend falso de 127 qubits.
FakeOsloUm backend falso de 7 qubits.
FakeOurenseV2Um backend falso de 5 qubits.
FakeParisV2Um backend falso de Paris.
FakePeekskillUm backend falso de 27 qubits.
FakePerthUm backend falso de 7 qubits.
FakePittsburghUm backend falso de 156 qubits.
FakePragueUm backend falso de 33 qubits.
FakePoughkeepsieV2Um backend falso de Poughkeepsie.
FakeQuebecUm backend falso de 127 qubits.
FakeQuitoV2Um backend falso de 5 qubits.
FakeRochesterV2Um backend falso da Rochester.
FakeRomeV2Um backend falso de 5 qubits.
FakeSantiagoV2Um backend Santiago falso.
FakeSherbrookeUm backend falso de 127 qubits.
FakeSingaporeV2Um backend falso de Cingapura.
FakeStrasbourgUm backend falso de 127 qubits.
FakeSydneyV2Um backend falso de 27 qubits.
FakeTorinoUm backend falso de 133 qubits.
FakeTorontoV2Um backend falso de 27 qubits.
FakeValenciaV2Um backend falso de 5 qubits.
FakeVigoV2Um backend falso de 5 qubits.
FakeWashingtonV2Um backend falso de 127 qubits.
FakeYorktownV2Um backend falso de 5 qubits.
Esta página foi útil?
Relate um bug, erro de digitação ou solicite conteúdo no GitHub.