ObservablesArray
class qiskit.primitives.ObservablesArray(observables, num_qubits=None, copy=True, validate=True)
Grundlagen: ShapedMixin
Ein ND-Array hermitischer Observablen für eine Estimator Primitive.
Ein Array mit Observables initialisieren.
Parameter
- observables (ObservablesArrayLike) – Ein arrayähnliches Objekt, das mit Basisbeobachtungsgrößen kompatibel ist.
- copy (bool) – Geben Sie bei der Initialisierung von Observables die
copykwarg derobject_array()Funktion an. - num_qubits (int | None) – Die Anzahl der Qubits der Observablen. Sofern nicht anders angegeben, wird die Anzahl der Qubits aus den Observablen abgeleitet. Falls angegeben, muss die angegebene Anzahl von Qubits mit der Anzahl der Qubits in den Observablen übereinstimmen.
- validate (bool) – Falls zutreffend, wandle die Einträge in das interne Format um und überprüfe sie. Ist der Wert „false“, sollte die Eingabe bereits ein array-ähnliches Objekt sein.
Erhöhungen
ValueError – Wenn validate=True und das Array der Eingangsbeobachtungsgrößen ungültig ist.
Attribute
ndim
num_qubits
Die Anzahl der Qubits, auf die jede Observable einwirkt.
shape
size
Methoden
apply_layout
apply_layout(layout, num_qubits=None)
Wende ein Transpiler-Layout auf diese ObservablesArrayDatei an.
Parameter
- layout (TranspileLayout |list[int] | None) – Entweder ein Wert vom Typ a
TranspileLayout, eine Liste von Ganzzahlen oder None. Wenn sowohl „layout“ alsnum_qubitsauch „“ auf „none“ gesetzt sind, wird eine vollständige Kopie des Arrays zurückgegeben. - num_qubits (int | None) – Die Anzahl der Qubits, auf die das Array erweitert werden soll. Wird kein Wert angegeben, wird standardmäßig die Anzahl der Qubits der
TranspileLayoutTranspiler-Ausgangsschaltung verwendet, sofern einlayoutist. Wenn eine Listelayoutvon ganzen Zahlen ist, wird die angegebene Permutation ohne Erweiterung angewendet. Wenn „layout“ auf „None“ gesetzt ist, wird das Array auf die angegebene Anzahl von Qubits erweitert.
Rückgabe
Eine neue Version ObservablesArray mit dem bereitgestellten Layout.
Erhöhungen
…
Rückgabetyp
coerce
classmethod coerce(observables)
ObservablesArrayLike in ObservableArray umwandeln.
Parameter
observables (str |Pauli |SparsePauliOp |SparseObservable |Mapping[str |Pauli, float] | ArrayLike) – ein Objekt, das in das Array der Beobachtungsgrößen aufgenommen werden soll.
Rückgabe
Ein Array mit typgezwungenen Observables.
Rückgabetyp
coerce_observable
classmethod coerce_observable(observable)
Konvertiert ein Observable-ähnliches Objekt in das interne Format.
Parameter
observable (str |Pauli |SparsePauliOp |SparseObservable |Mapping[str |Pauli, float]) – Das Observable-ähnliche Element zum Formatieren.
Rückgabe
Die erzwungene Beobachtungsgröße.
Erhöhungen
- TypeError – Wenn die Eingabe nicht formatiert werden kann, weil ihr Typ ungültig ist.
- ValueError – Wenn die Eingabe-Beobachtungsgröße ungültig oder leer ist.
Rückgabetyp
copy
equivalent
equivalent(other, tol=1e-08)
Berechne, ob die beobachtbaren Arrays innerhalb einer vorgegebenen Toleranz gleich sind.
Parameter
- other (ObservablesArray) – Ein weiteres Array mit Beobachtungsgrößen zum Vergleich.
- tol (float) – Die Toleranz, die bei der Prüfung zu berücksichtigen
simplifyist.
Rückgabe
Ob die beiden Observablen-Arrays dieselbe Struktur und dieselbe Anzahl an Qubits aufweisen und, falls ja, ob sie innerhalb der Toleranzgrenze übereinstimmen.
Rückgabetyp
ravel
ravel()
Gibt ein neues eindimensionales Array zurück.
Das zurückgegebene Array hat eine shape Größe von (size, ), wobei die Größe die size Anzahl der Elemente dieses Arrays ist.
Rückgabe
Ein neues abgeflachtes Array.
Rückgabetyp
reshape
reshape(*shape)
Gibt ein neues Array mit einer anderen Struktur zurück.
Dies führt zu einer neuen Ansicht derselben Arrays.
Parameter
shape (int |Iterable[int]) – Die Form des zurückgegebenen Arrays.
Rückgabe
Ein neues Array.
Rückgabetyp
slice
slice(args: int | tuple[int, ...]) → SparseObservable
slice(args: int | slice | None | tuple[int | slice | None, ...]) → ObservablesArray
Wähle einen Ausschnitt der Beobachtungsgrößen aus diesem Array aus.
Diese Methode kopiert keine Observables; Änderungen an den zurückgegebenen Observables wirken sich auf diese Instanz aus.
Rückgabe
Ein einzelnes, SparseObservable sofern für jede Array-Achse eine ganze Zahl angegeben wird; andernfalls ein neues ObservablesArray.
sparse_observables_array
sparse_observables_array(copy=False)
In ein numpy.ndarray mit Elementen vom Typ SparseObservableumwandeln.
Parameter
copy (bool) – Ob eine neue Array-Instanz mit neuen spärlichen Observables als Elementen erstellt werden soll.
Rückgabe
A numpy.ndarray mit Elementen vom Typ SparseObservable.
Rückgabetyp
tolist
tolist()
In eine verschachtelte Liste umwandeln.
Ähnlich wie bei der Methode tolist von Numpy hängt der Verschachtelungsgrad von der Dimension des Arrays der Observablen ab. Bei Dimension 0 gibt die Methode anstelle einer Liste eine einzelne Beobachtungsgröße zurück (dict im Falle einer gewichteten Summe von Paulis).
Beispiele::
Rückgabewerte für eine Liste mit einem Element im Vergleich zu einem einzelnen Element:
>>> from qiskit.primitives.containers.observables_array import ObservablesArray
>>> oa = ObservablesArray.coerce(["Z"])
>>> print(type(oa.tolist()))
<class 'list'>
>>> oa = ObservablesArray.coerce("Z")
>>> print(type(oa.tolist()))
<class 'dict'>Rückgabetyp
Liste | str | Pauli | SparsePauliOp | SparseObservable | Zuordnung [ str | Pauli, float ]