Skip to main content
IBM Quantum Platform

BindingsArray

class qiskit.primitives.BindingsArray(data=None, shape=None)

GitHub

Grundlagen: ShapedMixin

Speichert Parameter-Bindungswertsätze für ein qiskit.QuantumCircuit.

Ein einzelner Parameterbindungssatz liefert numerische Werte, die an einen Schaltkreis mit freien qiskit.circuit.Parameters gebunden werden. Eine Instanz dieser Klasse speichert eine als Array dargestellte Sammlung solcher Mengen. Das einfachste Beispiel ist ein 0-d-Array, das aus einem einzigen Parameterbindungssatz besteht, während ein n-d-Array aus Parameterbindungssätzen einen n-d-Durchlauf über Werte darstellt.

Das Speicherformat ist ein Wörterbuch aus Arrays, die an Parameter {params_0: values_0,...} angehängt sind. Es wird eine Konvention verwendet, bei der die letzte Dimension jedes Arrays (eine Teilmenge von) Schaltungsparametern indiziert. Wenn beispielsweise die letzte Dimension von values_0 25 ist, dann stellt dies ein Array möglicher Bindungswerte für die 25 verschiedenen Parameter dar params_0, wobei seine führende Form das Array shape seines Bindungsarrays ist. Dies ermöglicht Flexibilität hinsichtlich der Frage, ob die Werte für verschiedene Parameter in einem großen Array oder in mehreren kleineren Arrays gespeichert werden.

import numpy as np
from qiskit.primitives import BindingsArray

# 0-d array (i.e. only one binding)
BindingsArray({"a": 4, ("b", "c"): [5, 6]})

# single array, last index is parameters
parameters = tuple(f"a{idx}" for idx in range(100))
BindingsArray({parameters: np.ones((10, 10, 100))})

# multiple arrays, where each last index is parameters. notice that it's smart enough to
# figure out that a missing last dimension corresponds to a single parameter.
BindingsArray(
    {("c", "a"): np.zeros((10, 10, 2)), "b": np.ones((10, 10))}
)

Initialisiere ein BindingsArray.

Das shape Argument muss nicht angegeben werden, wenn es eindeutig aus den angegebenen Arrays abgeleitet werden kann. Eine Mehrdeutigkeit entsteht immer dann, wenn der Schlüssel eines Eintrags data nur einen Parameter enthält und die Form des entsprechenden Arrays auf eine Eins endet. In diesem Fall lässt sich nicht entscheiden, ob es sich dabei um einen Index über Parameter handelt oder ob er in … integriert shapewerden sollte.

Da Parameter Objekte nur Float-Werte darstellen dürfen, wandelt diese Klasse alle übergebenen Werte in Float-Werte um. Wird ein inkompatibler Datentyp angegeben, wie beispielsweise komplexe Zahlen, wird TypeError eine Ausnahme ausgelöst.

Parameter

  • data (BindingsArrayLike | None) – Eine Abbildung von einem oder mehreren Parametern auf Werte-Arrays, an die sie gebunden werden sollen, wobei die letzte Achse die Parameter umfasst.
  • shape (ShapeInput | None) – Die führende Form jedes Arrays in diesen Bindungen.

Erhöhungen

  • ValueError – Wenn alle Eingaben None.
  • ValueError – Wenn die Form nicht automatisch aus den Arrays abgeleitet werden kann oder wenn die Form der angegebenen Arrays Unstimmigkeiten aufweist.
  • TypeError – Wenn einige der Werte nicht in den Typ „float“ umgewandelt werden können.

Attribute

data

Die Schlüsselwerte dieses Arrays.

ndim

num_parameters

Die Gesamtzahl der Parameter.

shape

size


Methoden

as_array

as_array(parameters=None)

GitHub

Gibt den Inhalt dieses Bindungs-Arrays als ein einziges Array vom Typ „ NumPy “ zurück.

Die Parameter sind entlang der letzten Dimension des zurückgegebenen Arrays indiziert.

Parameter

parameters (Iterable[Parameter |str] | None) – Optionale Parameter, die die Reihenfolge der Ausgabe festlegen.

Rückgabe

Dieses Bindungs-Array als einzelnes Array vom Typ „ NumPy “.

Erhöhungen

ValueError – Wenn angegeben parameters sind, diese jedoch nicht mit denen in dataübereinstimmen.

Rückgabetyp

ndarray

bind

bind(circuit, loc)

GitHub

Gibt einen neuen Circuit zurück, der an die Werte unter dem angegebenen Index gebunden ist.

Parameter

  • circuit (QuantumCircuit) – Der Kreis, den es zu schließen gilt.
  • loc (tuple[int, ...]) – Ein Tupel von Indizes, jeweils einer für jede Dimension dieses Arrays.

Rückgabe

Die geschlossene Schaltung.

Erhöhungen

ValueError – Wenn der Index nicht die richtige Anzahl an Werten enthält.

Rückgabetyp

QuantumCircuit

bind_all

bind_all(circuit)

GitHub

Gibt ein Objekt-Array aus gebundenen Schaltkreisen mit derselben Form zurück.

Parameter

circuit (QuantumCircuit) – Der Kreis, den es zu schließen gilt.

Rückgabe

Ein Objekt-Array derselben Struktur, das alle gebundenen Schaltkreise enthält.

Rückgabetyp

ndarray

coerce

classmethod coerce(bindings_array)

GitHub

Konvertiere eine Eingabe vom Typ BindingsArrayLike in einen neuen Typ BindingsArray.

Parameter

bindings_array (Mapping[Parameter |str |tuple[Parameter |str, ...], ArrayLike]) – Ein Objekt, das als Array von Bindungen dienen soll.

Rückgabe

Ein neues Bindungsarray.

Rückgabetyp

BindingsArray

ravel

ravel()

GitHub

Gibt ein neues Objekt BindingsArray mit einer Dimension zurück.

Das zurückgegebene Bindungs-Array hat eine shape Größe von (size, ), wobei die Größe die Anzahl size der Elemente in diesem Bindungs-Array ist.

Rückgabe

Ein neues Bindungsarray.

Rückgabetyp

BindingsArray

reshape

reshape(*shape)

GitHub

Gibt ein neues Objekt BindingsArray mit einer anderen Form zurück.

Dies führt zu einer neuen Ansicht derselben Arrays.

Parameter

shape (int |Iterable[int]) – Die Form des zurückgegebenen Bindungs-Arrays.

Rückgabe

Ein neues Bindungsarray.

Erhöhungen

ValueError – Wenn die angegebene Form ein anderes Produkt als die aktuelle Größe hat.

Rückgabetyp

BindingsArray

validate

validate()

GitHub

Überprüfe die Konsistenz in bindings\_array.

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