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")
# 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)
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.
FakeProviderForBackendV2 | Provedor 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.
FakeAachen | Um backend falso de 156 qubits. |
FakeAlgiers | Um backend falso de 27 qubits. |
FakeAlmadenV2 | Um backend falso da Almaden V2. |
FakeArmonkV2 | Um backend falso de 1 qubit. |
FakeAthensV2 | Um backend falso de 5 qubits. |
FakeAuckland | Um backend falso de 27 qubits. |
FakeBelemV2 | Um backend falso de 5 qubits. |
FakeBerlin | Um backend simulado de 120 qubits. |
FakeBoeblingenV2 | Um backend falso do Boeblingen V2. |
FakeBogotaV2 | Um backend falso de 5 qubits. |
FakeBoston | Um backend falso de 156 qubits. |
FakeBrisbane | Um backend falso de 127 qubits. |
FakeBrooklynV2 | Um backend falso do Brooklyn V2. |
FakeBrussels | Um backend falso de 127 qubits. |
FakeBurlingtonV2 | Um backend falso de 5 qubits. |
FakeCairoV2 | Um backend falso de 27 qubits. |
FakeCambridgeV2 | Um backend falso de Cambridge. |
FakeCasablancaV2 | Um backend falso de 7 qubits. |
FakeCusco | Um backend falso de 127 qubits. |
FakeEssexV2 | Um backend falso de 5 qubits. |
FakeFez | Um backend falso de 156 qubits. |
FakeGeneva | Um backend falso de 27 qubits. |
FakeGuadalupeV2 | Um backend falso de 16 qubits. |
FakeHanoiV2 | Um backend falso de 27 qubits. |
FakeJakartaV2 | Um backend falso de 7 qubit V2. |
FakeJohannesburgV2 | Um backend falso de Johannesburg V2. |
FakeKawasaki | Um backend falso de 127 qubits. |
FakeKingston | Um backend falso de 156 qubits. |
FakeKolkataV2 | Um backend falso de 27 qubits. |
FakeKyiv | Um backend falso de 127 qubits. |
FakeKyoto | Um backend falso de 127 qubits. |
FakeLagosV2 | Um backend falso de 7 qubits. |
FakeLimaV2 | Um backend falso de 5 qubits. |
FakeFractionalBackend | Um backend falso de 5 qubits com recurso dinâmico e fracionário modelado com base em FakeLima. |
FakeLondonV2 | Um backend falso de 5 qubits. |
FakeManhattanV2 | Um backend falso de Manhattan. |
FakeManilaV2 | Um backend falso de 5 qubits. |
FakeMarrakesh | Um backend falso de 156 qubits. |
FakeMelbourneV2 | Um backend falso de 15 qubits. |
FakeMiami | Um backend simulado de 120 qubits. |
FakeMontrealV2 | Um backend falso de 27 qubits. |
FakeMumbaiV2 | Um backend falso de 27 qubits. |
FakeNairobiV2 | Um backend falso de 7 qubits. |
FakeOsaka | Um backend falso de 127 qubits. |
FakeOslo | Um backend falso de 7 qubits. |
FakeOurenseV2 | Um backend falso de 5 qubits. |
FakeParisV2 | Um backend falso de Paris. |
FakePeekskill | Um backend falso de 27 qubits. |
FakePerth | Um backend falso de 7 qubits. |
FakePittsburgh | Um backend falso de 156 qubits. |
FakePrague | Um backend falso de 33 qubits. |
FakePoughkeepsieV2 | Um backend falso de Poughkeepsie. |
FakeQuebec | Um backend falso de 127 qubits. |
FakeQuitoV2 | Um backend falso de 5 qubits. |
FakeRochesterV2 | Um backend falso da Rochester. |
FakeRomeV2 | Um backend falso de 5 qubits. |
FakeSantiagoV2 | Um backend Santiago falso. |
FakeSherbrooke | Um backend falso de 127 qubits. |
FakeSingaporeV2 | Um backend falso de Cingapura. |
FakeStrasbourg | Um backend falso de 127 qubits. |
FakeSydneyV2 | Um backend falso de 27 qubits. |
FakeTorino | Um backend falso de 133 qubits. |
FakeTorontoV2 | Um backend falso de 27 qubits. |
FakeValenciaV2 | Um backend falso de 5 qubits. |
FakeVigoV2 | Um backend falso de 5 qubits. |
FakeWashingtonV2 | Um backend falso de 127 qubits. |
FakeYorktownV2 | Um backend falso de 5 qubits. |