Skip to main content
IBM Quantum Platform

FakeMarrakesh

class FakeMarrakesh

GitHub

Basen: FakeBackendV2

Ein gefälschtes 156-Qubit-Backend.

Ein 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 optionales Datums- und Zeitangabe, zu der das Backend in Betrieb genommen wurde
  • backend_version – Eine optionale Zeichenfolge für die Backend-Version. Dies unterscheidet sich vom Attribut version , da version für die abstrakte Backend Schnittstellenversion des Objekts steht, während backend_version der Versionierung des Backends selbst dient.
  • Felder – kwargs für die Werte, mit denen die Standardoptionen überschrieben werden sollen.

Erhöht

AttributeError – Wenn ein Feld angegeben wird, das außerhalb der Optionen des Backends liegt


Attribute

backend_name

Typ: str

Standardwert: 'fake_marrakesh'

Name des Backends.

conf_filename

Typ: str

Standardwert: 'conf_marrakesh.json'

Dateiname für die Backend-Konfiguration.

coupling_map

Geben Sie das CouplingMap objekt

dirname

Typ: str

Standardwert: '/home/runner/work/qiskit-ibm-runtime/qiskit-ibm-runtime/qiskit_ibm_runtime/fake_provider/backends/marrakesh'

Verzeichnis für die eigentlichen Backend-Snapshots.

dt

Rückgabe der Systemzeitauflösung der Eingangssignale

Dies ist erforderlich, wenn das Backend die Impulsplanung unterstützt.

Rückgabe

Der Zeitschritt des Eingangssignals in Sekunden. Wenn das Backend nicht dt definiert, wird None zurückgegeben.

dtm

Gibt die Zeitauflösung der Ausgangssignale an.

Rückgabe

Der Zeitschritt des Ausgangssignals in Sekunden.

instruction_durations

Geben Sie das InstructionDurations objekt.

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 Auftrag ausgeführt werden können.

Diese Eigenschaft gab früher den Wert max_experiments aus der Backend-Konfiguration zurück, aber dieser Wert ist nicht mehr eine genaue Darstellung der Backend-Schaltkreisgrenzen. Es werden neue Felder zur Angabe neuer Grenzwerte hinzugefügt.

meas_map

Rückgabe der Gruppierung von Messungen, die gemultiplext sind

Dies ist erforderlich, wenn das Backend die Impulsplanung unterstützt.

Rückgabe

Die Gruppierung von Messungen, die gemultiplext werden

Erhöht

NotImplementedError - wenn das Backend die Abfrage der Messungszuordnung nicht unterstützt

num_qubits

Gibt die Anzahl der Qubits zurück, die das Backend hat.

operation_names

Eine Liste von Befehlsnamen, die das Backend unterstützt.

operations

Eine Liste von Instruction instanzen, die das Backend unterstützt.

options

Rückgabe der Optionen für das Backend

Die Optionen eines Backends sind die dynamischen Parameter, die festlegen, wie das Backend verwendet wird. Diese werden zur Steuerung der run() methode.

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_marrakesh.json'

Dateiname für die Backend-Eigenschaften.

provider

Rückgabe des Backend-Anbieters.

Rückgabe

den für das Backend zuständigen Anbieter.

Rückgabetyp

Anbieter

target

A qiskit.transpiler.Target objekt für das Backend.

Rückgabetyp

Ziel

version

Standardwert: 2

name

Name des Backends.

description

Optionale, von Menschen lesbare Beschreibung.

online_date

Datum, an dem das Backend online ging.

backend_version

Version des bereitgestellten Backends. Dies ist nicht dasselbe wie BackendV2.version, das die Version der abstrakten Schnittstelle Backend ist.


Methoden

check_faulty

check_faulty(circuit)

GitHub

Prüfen Sie, ob die Eingangsschaltung fehlerhafte Qubits oder Flanken verwendet.

Parameter

circuit (QuantumCircuit) – Zu prüfende Schaltung.

Erhöht

ValueError - Wird ein Befehl gefunden, der auf einem fehlerhaften Qubit oder einer fehlerhaften Flanke arbeitet.

Rückgabetyp

Keine

configuration

configuration()

GitHub

Rückgabe der Backend-Konfiguration.

Rückgabetyp

QasmBackendConfiguration

properties

properties(refresh=False)

GitHub

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

BackendProperties

qubit_properties

qubit_properties(qubit)

Rückgabe QubitProperties für ein gegebenes Qubit.

Wenn keine Details 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, kann dies None sein.

Erhöht

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)

GitHub

Aktualisiere die Datendateien anhand der entsprechenden Originaldaten.

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 Sitzungen hinweg bestehen, so dass die Dateien aktualisiert bleiben, sofern sie nicht manuell lokal rückgängig gemacht werden oder wenn qiskit-ibm-runtime aktualisiert oder neu installiert wird.

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 QiskitRuntimeService Instanz
  • use_fractional_gates (bool) – Setzen Sie True, damit die Backends gebrochene Gates enthalten können.
  • persist (bool) – Wenn ( True Standard), ü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 geschrieben False, wodurch die Ausführung auch dann erfolgreich ist refresh() , wenn das Paket an einem schreibgeschützten Speicherort installiert ist – allerdings geht dies zu Lasten der Persistenz der Aktualisierung über mehrere Sitzungen hinweg.

Erhöht

  • ValueError - wenn der bereitgestellte Dienst eine non-QiskitRuntimeService Instanz ist.
  • Exception - Wenn das eigentliche Ziel nicht existiert oder nicht erreicht werden kann

Rückgabetyp

Keine

run

run(run_input, **options)

GitHub

Führen Sie das gefälschte Backend mit Hilfe eines Simulators aus.

Diese Methode führt Schaltkreisaufträge (einen einzelnen oder eine Liste von QuantumCircuit ) unter Verwendung von BasicSimulator oder Aer Simulator aus und gibt ein Job objekt zurück.

Wenn qiskit-aer installiert ist, werden die Aufträge unter Verwendung von AerSimulator mit dem Geräuschmodell des gefälschten Backends ausgeführt. Andernfalls werden die Aufträge unter BasicSimulator ohne Rauschen ausgeführt.

Zurzeit wird die geräuschvolle Simulation eines Puls-Jobs 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 Auftragsobjekt für den Lauf

Rückgabetyp

Job

set_options

set_options(**fields)

Einstellen der Optionsfelder für das Backend

Diese Methode wird verwendet, um die Optionen eines Backends zu aktualisieren. Wenn Sie eine der Optionen vor der Ausführung ändern müssen, geben Sie einfach den kwarg mit den neuen Werten für die Optionen ein.

Parameter

fields - Die Felder zur Aktualisierung der Optionen

Erhöht

AttributeError - Wenn das übergebene Feld nicht Teil der Optionen ist

status

status()

GitHub

Rückgabe des Backend-Status.

Rückgabe

Der Status des Backends.

Rückgabetyp

BackendStatus

War diese Seite hilfreich?
Melden Sie auf GitHub einen Fehler, einen Tippfehler oder fordern Sie Inhalte an.