BasicSimulator
class qiskit.providers.basic_provider.BasicSimulator(provider=None, target=None, **fields)
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
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)
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
run
run(run_input, **run_options)
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
Weitere Informationen:
-
kwarg-Optionen, die in
run_optionsangegeben 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_inputentsprechen. - "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'.
- "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
Beispiel:
backend.run(
circuit_2q,
initial_statevector = np.array([1, 0, 0, 1j]) / math.sqrt(2)
)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