FakeParisV2
class FakeParisV2
Grundlagen: FakeBackendV2
Ein gefälschtes Paris-Backend.
06 17
↕ ↕
00 ↔ 01 ↔ 04 ↔ 07 ↔ 10 ↔ 12 ↔ 15 ↔ 18 ↔ 21 ↔ 23
↕ ↕ ↕
02 13 24
↕ ↕ ↕
03 ↔ 05 ↔ 08 ↔ 11 ↔ 14 ↔ 16 ↔ 19 ↔ 22 ↔ 25 ↔ 26
↕ ↕
09 20Ein Backend auf Basis von „ BackendV2 “ initialisieren
Parameter
- Anbieter – Ein optionaler Rückverweis auf das Anbieterobjekt, aus dem das Backend stammt
- name – Ein optionaler Name für das Backend
- Beschreibung – Eine optionale Beschreibung des Backends
- online_date – Ein optionaler Datums- und Zeitstempel, zu dem das Backend in Betrieb genommen wurde
- backend_version – Eine optionale Zeichenfolge für die Backend-Version. Dies unterscheidet sich vom Attribut
version, daversionfür die abstrakteBackendSchnittstellenversion des Objekts steht, währendbackend_versionder Versionierung des Backends selbst dient. - Felder – kwargs für die Werte, mit denen die Standardoptionen überschrieben werden sollen.
Erhöhungen
AttributeError – Wenn ein Feld angegeben wird, das außerhalb der Optionen des Backends liegt
Attribute
backend_name
Typ: str
Standardwert: 'fake_paris'
Name des Backends.
conf_filename
Typ: str
Standardwert: 'conf_paris.json'
Dateiname für die Backend-Konfiguration.
coupling_map
Das CouplingMap Objekt zurückgeben
dirname
Typ: str
Standardwert: '/home/runner/work/qiskit-ibm-runtime/qiskit-ibm-runtime/qiskit_ibm_runtime/fake_provider/backends/paris'
Verzeichnis für die eigentlichen Backend-Snapshots.
dt
Gibt die Systemzeitauflösung der Eingangssignale zurück
Dies muss implementiert werden, wenn das Backend Pulse-Scheduling unterstützt.
Rückgabe
Der Zeitschritt des Eingangssignals in Sekunden. Wenn das Backend nicht definiert ist dt, None wird zurückgegeben.
dtm
Gibt die Zeitauflösung der Ausgangssignale an.
Rückgabe
Der Zeitabstand des Ausgangssignals in Sekunden.
instruction_durations
Geben Sie das InstructionDurations Objekt zurück.
instructions
Eine Liste von Befehlstupeln auf der Backend-Seite des Formulars (instruction, (qubits))
max_circuits
Gibt die maximale Anzahl an Durchläufen zurück, die in einem einzelnen Job ausgeführt werden können.
Diese Eigenschaft gab früher den Wert „max_experiments“ aus der Backend-Konfiguration zurück, aber dieser Wert gibt die Backend-Schaltungsgrenzen nicht mehr genau wieder. Es werden neue Felder hinzugefügt, um neue Grenzwerte anzuzeigen.
meas_map
Geben Sie die Gruppierung der gemultiplexten Messungen zurück
Dies muss implementiert werden, wenn das Backend Pulse-Scheduling unterstützt.
Rückgabe
Die Gruppierung von Messungen, die multiplexiert sind
Erhöhungen
NotImplementedError – wenn das Backend die Abfrage des Messungs-Mappings nicht unterstützt
num_qubits
Gibt die Anzahl der Qubits zurück, über die das Backend verfügt.
operation_names
Eine Liste der Befehlsnamen, die das Backend unterstützt.
operations
Eine Liste der Instruction Instanzen, die das Backend unterstützt.
options
Geben Sie die Optionen für das Backend zurück
Die Optionen eines Backends sind die dynamischen Parameter, die definieren, wie das Backend verwendet wird. Diese werden zur Steuerung der run() Methode verwendet.
physical_qubits
Gibt die Anzahl der physikalischen Qubits zurück, über die das Backend verfügt.
Gibt die Anzahl der physikalischen Qubits des Backends zurück (programmierbare Qubits, Reset-Qubits und Koppler zusammen).
props_filename
Typ: str
Standardwert: 'props_paris.json'
Dateiname für die Backend-Eigenschaften.
provider
Geben Sie den Backend-Anbieter zurück.
Rückgabe
der für das Backend zuständige Anbieter.
Rückgabetyp
Anbieter
target
version
Standardwert: 2
name
Name des Backends.
description
Optionale, für Menschen lesbare Beschreibung.
online_date
Datum, an dem das Backend online gegangen ist.
backend_version
Version des bereitgestellten Backends. Dies ist nicht dasselbe wie BackendV2.version, die Version der Backend abstrakten Schnittstelle.
Methoden
check_faulty
check_faulty(circuit)
Überprüfen Sie, ob der Eingangskreis fehlerhafte Qubits oder Kanten verwendet.
Parameter
circuit (QuantumCircuit) – Zu prüfende Schaltung.
Erhöhungen
ValueError – Wenn eine Anweisung gefunden wird, die auf einem fehlerhaften Qubit oder einer fehlerhaften Kante ausgeführt wird.
Rückgabetyp
Keine
configuration
properties
properties(refresh=False)
Gibt die Backend-Eigenschaften zurück.
Parameter
refresh (bool) – Wenn True, rufen Sie die Backend-Eigenschaften erneut aus der lokalen Datei ab.
Rückgabe
Die Backend-Eigenschaften.
Rückgabetyp
qubit_properties
qubit_properties(qubit)
Gibt den Wert „ QubitProperties “ für ein bestimmtes Qubit zurück.
Wenn keine definiert sind oder das Backend die Abfrage dieser Details nicht unterstützt, muss diese Methode nicht implementiert werden.
Parameter
qubit (int | list[int]) – Das Qubit, für das das QubitProperties Objekt benötigt wird. Dies kann eine einzelne Ganzzahl für 1 Qubit sein oder eine Liste von Qubits; eine Liste von QubitProperties Objekten wird in derselben Reihenfolge zurückgegeben
Rückgabe
Das QubitProperties Objekt für das angegebene Qubit. Wenn eine Liste von Qubits angegeben wird, wird eine Liste zurückgegeben. Wenn Eigenschaften für ein Qubit fehlen, Nonekann dies.
Erhöhungen
NotImplementedError – wenn das Backend die Abfrage der Qubit-Eigenschaften nicht unterstützt
Rückgabetyp
QubitProperties | Liste[ QubitProperties ]
refresh
refresh(service, use_fractional_gates=False, persist=True)
Aktualisiere die Datendateien anhand des realen Vorbilds.
Diese Methode ruft die neuesten Backend-Datendateien von ihrem Originalabbild ab und überschreibt standardmäßig (persist=True) die entsprechenden Dateien in der lokalen Installation:
../fake_provider/backends/{backend_name}/conf_{backend_name}.json../fake_provider/backends/{backend_name}/props_{backend_name}.json
Die neuen Datendateien bleiben über mehrere Sitzungen hinweg erhalten, sodass die Dateien auf dem neuesten Stand bleiben, es sei denn, sie werden lokal manuell zurückgesetzt oder wird qiskit-ibm-runtime aktualisiert oder neu installiert.
Das Überschreiben der installierten Datendateien schlägt jedoch fehl, wenn das Paket an einem schreibgeschützten Speicherort (z. B. in einem systemweiten site-packages Verzeichnis) installiert wird. In diesem Fall oder immer dann, wenn eine Änderung des installierten Pakets unerwünscht ist, übergeben Sie, um persist=False die aktualisierten Daten stattdessen in ein temporäres Verzeichnis zu schreiben. Das Backend wird zwar weiterhin für die aktuelle Sitzung aktualisiert, die Änderungen werden jedoch nicht auf der Festplatte gespeichert und gehen verloren, sobald das Backend von der Garbage Collection bereinigt wird oder der Prozess beendet wird.
Parameter
- service (QiskitRuntimeService) – Eine
QiskitRuntimeServiceInstanz - use_fractional_gates (bool) – Setzen Sie „True“, damit die Backends Bruchteile von Gates enthalten können.
- persist (bool) – Wenn (
TrueStandard), überschreiben die aktualisierten Datendateien die im installierten Paket enthaltenen Kopien, sodass die Aktualisierung über mehrere Sitzungen hinweg erhalten bleibt. In diesem Fall werden die Daten stattdessen in ein temporäres Verzeichnis geschriebenFalse, wodurch die Ausführung auch dann erfolgreich istrefresh(), wenn das Paket an einem schreibgeschützten Speicherort installiert ist – allerdings geht dies zu Lasten der Persistenz der Aktualisierung über mehrere Sitzungen hinweg.
Erhöhungen
- ValueError – wenn es sich bei der bereitgestellten Dienstleistung um eine „ non-QiskitRuntimeService “-Instanz handelt.
- Ausnahme – Wenn das eigentliche Ziel nicht existiert oder nicht erreichbar ist
Rückgabetyp
Keine
run
run(run_input, **options)
Führen Sie das Programm auf dem gefälschten Backend mit einem Simulator aus.
Diese Methode führt Circuit-Jobs (ein einzelner oder eine Liste von QuantumCircuit ) mit dem BasicSimulator - oder Aer-Simulator aus und gibt ein Job Objekt zurück.
Wenn qiskit-aer installiert ist, werden Jobs mit AerSimulator unter Verwendung des Rauschmodells des Fake-Backends ausgeführt. Andernfalls werden die Jobs ohne Meldungen mit „ BasicSimulator “ ausgeführt.
Derzeit wird die laute Simulation eines Impulsauftrags in „ FakeBackendV2 “ noch nicht unterstützt.
Parameter
- run_input (QuantumCircuit | list[QuantumCircuit]) – Eine Person oder eine Liste von
QuantumCircuit - options (dict) – Gibt es irgendwelche Kwarg-Optionen, die an das Backend übergeben werden müssen, um die Konfiguration auszuführen? Wenn ein Schlüssel auch im Attribut/Objekt „options“ vorhanden ist, wird erwartet, dass der dort angegebene Wert anstelle des im Objekt „options“ festgelegten Werts verwendet wird.
Rückgabe
Das Jobobjekt für den Lauf
Rückgabetyp
Job
set_options
set_options(**fields)
Legen Sie die Optionsfelder für das Backend fest
Diese Methode wird verwendet, um die Optionen eines Backends zu aktualisieren. Wenn Sie vor der Ausführung eine der Optionen ändern müssen, übergeben Sie einfach das kwarg mit dem neuen Wert für die Optionen.
Parameter
Felder – Die Felder zum Aktualisieren der Optionen
Erhöhungen
AttributeError – Wenn das übergebene Feld nicht Teil der Optionen ist