Skip to main content
IBM Quantum Platform

BasicSimulator

class qiskit.providers.basic_provider.BasicSimulator(provider=None, target=None, **fields)

GitHub

Basen: BackendV2

Python implementierung eines einfachen (nicht effizienten) Quantensimulators.

Der Simulator unterstützt bis zu 24 Qubits für die Zustandsvektorsimulation und bis zu 2048 Qubits für die Clifford-/Stabilisator-Simulation.

Parameter

  • provider - Ein optionaler Rückwärtsverweis auf das Anbieterobjekt, von dem das Backend stammt.
  • target (Target | None) – Ein optionales Ziel zur Konfiguration des Simulators.
  • fields - kwargs für die Werte, die verwendet werden sollen, um die Standardoptionen außer Kraft zu setzen.

Erhöht

AttributeError - Wenn ein Feld angegeben wird, das nicht in den Optionen des Backends enthalten ist.


Attribute

MAX_QUBITS_CLIFFORD

Standardwert: 2048

MAX_QUBITS_STATEVECTOR

Standardwert: 24

coupling_map

Geben Sie das CouplingMap objekt

dt

Rückgabe der Systemzeitauflösung der Eingangssignale

Dies muss implementiert werden, 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

Rückgabe der Systemzeitauflösung der Ausgangssignale

Rückgabe

Der Zeitschritt des Ausgangssignals in Sekunden.

Erhöht

NotImplementedError - wenn das Backend die Abfrage des Zeitschrittes des Ausgangssignals nicht unterstützt

instruction_durations

Geben Sie das InstructionDurations objekt.

instructions

Eine Liste von Befehlstupeln auf der Backend-Seite des Formulars (instruction, (qubits))

max_circuits

meas_map

Rückgabe der Gruppierung von Messungen, die gemultiplext sind

Dies muss implementiert werden, 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.

provider

Rückgabe des Backend-Anbieters.

Rückgabe

der für das Backend zuständige Anbieter.

Rückgabetyp

Anbieter

target

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.versiondie die Version der Backend abstrakten Schnittstelle ist.


Methoden

qubit_properties

qubit_properties(qubit)

GitHub

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 ]

run

run(run_input, **run_options)

GitHub

Wird im Backend ausgeführt.

Parameter

  • run_input (QuantumCircuit orlist) – die „ QuantumCircuit “ (bzw. die Liste der „ QuantumCircuit “-Objekte), die ausgeführt werden soll
  • run_options (kwargs) – zusätzliche Laufzeit-Backend-Optionen

Rückgabe

abgeleitet von BaseJob

Rückgabetyp

BasicProviderJob

Weitere Informationen:

  • kwarg-Optionen, die in run_options angegeben sind, überschreiben vorübergehend alle gleichnamigen Optionen für den aktuellen Lauf. Dazu gehören beispielsweise folgende Bereiche:

    • "initial_statevector": Vektorartig. Die Option "initial_statevector" gibt einen benutzerdefinierten Ausgangszustandsvektor an, der anstelle des Zustands "Null" verwendet wird. Die Größe dieses Vektors muss der Anzahl der Qubits im Argument run_input entsprechen.
    • "seed_simulator": int. Dies ist das interne Saatgut für die Erzeugung von Proben.
    • "Schüsse": int. Anzahl der in der Simulation verwendeten Schüsse.
    • "Speicher": bool. Bei True enthält das Ergebnis die Ergebnisse jeder einzelnen Schuss-Simulation.
    • „use_clifford_optimization“: bool. Wenn „True“, wird die Optimierung von Clifford-Schaltungen unter Verwendung des Stabilisatorformalismus aktiviert. Standardwert: 'false'.

Beispiel:

backend.run(
    circuit_2q,
    initial_statevector = np.array([1, 0, 0, 1j]) / math.sqrt(2)
)

set_options

set_options(**fields)

GitHub

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

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