Skip to main content
IBM Quantum Platform

QuantumProgram

class QuantumProgram(shots, items=None, noise_maps=None, meas_level='classified', passthrough_data=None)

GitHub

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 None die 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_values hat die inhärente Form (n,) für n Parameter). 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 shape denen die in samplex_arguments implizierte 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 None die 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

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