BindingsArray
class qiskit.primitives.BindingsArray(data=None, shape=None)
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)
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
bind
bind(circuit, loc)
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
bind_all
bind_all(circuit)
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
coerce
classmethod coerce(bindings_array)
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
ravel
ravel()
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
reshape
reshape(*shape)
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