QuantumProgram
class QuantumProgram(shots, items=None, noise_maps=None, meas_level='classified', passthrough_data=None)
Basen: QuantumProgram
Eine ausführbare Quanten-Laufzeitumgebung.
Ein Quantenprogramm besteht aus einer Liste geordneter Elemente, von denen jedes eine einzelne Schaltung und ein Array zugehöriger Parameterwerte enthält. Bei der Ausführung eines Quantenprogramms wird das Ergebnis jedes Schaltkreises für die angegebene Anzahl von Durchläufen shots für jeden angegebenen Satz von Schaltkreisargumenten ermittelt.
Parameter
-
shots (int) – Die Anzahl der Schüsse pro Durchlauf.
-
items (Iterable[QuantumProgramItem] | None) – Bestandteile des Programms.
-
noise_maps (dict[str, PauliLindbladMap] | None) – Lärmkarten zur Verwendung mit Samplex-Elementen.
-
meas_level (Literal['classified', 'kerneled', 'avg_kerneled', 'both']) –
Die Ebene, auf der alle klassischen Registermesswerte zurückgegeben werden sollen. Dieser Wert legt den Rückgabetyp aller klassischen Register in allen Elementen des Quantenprogramms fest und bestimmt, ob die rohen komplexen Daten von Low-Level-Messgeräten in Bits aufgeschlüsselt werden oder nicht. Folgende Werte werden unterstützt:
-
„classified“: Daten aus dem klassischen Register werden als boolesche Arrays mit dem
(num_shots, creg_size)eigene Form. -
„kerneled“: Klassische Registerdaten werden als komplexes Array mit dem
(num_shots, creg_size)intrinsische Form, wobei jeder Eintrag einen IQ-Datenpunkt (der sich aus der Kernel-Transformation der Messkurve ergibt) in beliebigen Einheiten darstellt. -
„avg_kerneled“: Klassische Registerdaten werden als komplexes Array mit dem
(creg_size,)intrinsische Form, bei der die Daten denen der „Kernel-Methode“ entsprechen, jedoch zusätzlich über die einzelnen Aufnahmen gemittelt werden.
-
-
passthrough_data (DataTree | None) – Beliebige verschachtelte Daten werden unverändert an die Ausführung weitergeleitet.
Methoden
append_circuit_item
append_circuit_item(circuit, circuit_arguments=None, *, chunk_size=None)
Füge diesem Programm ein neues CircuitItem Element hinzu.
Parameter
- circuit (QuantumCircuit) – Der Schaltkreis dieses Artikels.
- circuit_arguments (ndarray | None) – Ein reelles Array mit Parameterwerten für die Schaltung. Die letzte Achse ist eine intrinsische Achse, deren Ausmaß der Anzahl der Schaltungsparameter entspricht. Die Hauptachsen sind extrinsisch und definieren das Abtastraster.
- chunk_size (int | None) – Die maximale Anzahl gebundener Schaltkreise bei jeder Ausführung der Shot-Schleife oder
Nonedie Verwendung einer serverseitigen Heuristik zur Geschwindigkeitsoptimierung. Wenn keine Sitzung ausgeführt wird, wird immer die serverseitige Heuristik verwendet, und dieser Wert wird ignoriert.
Rückgabetyp
Keine
append_samplex_item
append_samplex_item(circuit, samplex, samplex_arguments=None, *, shape=None, chunk_size=None)
Füge diesem Programm ein neues SamplexItem Element hinzu.
Parameter
- circuit (QuantumCircuit) – Der Schaltkreis dieses Artikels.
- samplex (Samplex) – Ein Beispiel zum Generieren von Zufallswerten für die Schaltung.
- samplex_arguments (dict[str, Any] | None) – Eine Zuordnung von Argumentnamen zu Argumentwerten für das Samplex. Jedes Argument-Array verfügt über inhärente Achsen, die durch seinen Typ bestimmt werden (z. B.
parameter_valueshat die inhärente Form(n,)fürnParameter). Die äußeren Typen aller Argumente werden gemeinsam übertragen. - shape (tuple[int, ...] | None) – Eine Form, in die die äußere Form des Objekts übertragen werden muss. Achsen, bei
shapedenen die insamplex_argumentsimplizierte Form überschreitet, zählen unabhängige Zufallsverteilungen auf. - chunk_size (int | None) – Die maximale Anzahl gebundener Schaltkreise bei jeder Ausführung der Shot-Schleife oder
Nonedie Verwendung einer serverseitigen Heuristik zur Geschwindigkeitsoptimierung. Wenn keine Sitzung ausgeführt wird, wird immer die serverseitige Heuristik verwendet, und dieser Wert wird ignoriert.
Rückgabetyp
Keine