Skip to main content
IBM Quantum Platform

ObservablesArray

class qiskit.primitives.ObservablesArray(observables, num_qubits=None, copy=True, validate=True)

GitHub

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 copy kwarg der object_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)

GitHub

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“ als num_qubits auch „“ 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 TranspileLayout Transpiler-Ausgangsschaltung verwendet, sofern ein layout ist. Wenn eine Liste layout von 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

QiskitError –

…

Rückgabetyp

ObservablesArray

coerce

classmethod coerce(observables)

GitHub

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

ObservablesArray

coerce_observable

classmethod coerce_observable(observable)

GitHub

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

SparseObservable

copy

copy()

GitHub

Gibt eine tiefe Kopie des Arrays zurück.

equivalent

equivalent(other, tol=1e-08)

GitHub

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 simplify ist.

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

bool

ravel

ravel()

GitHub

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

ObservablesArray

reshape

reshape(*shape)

GitHub

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

ObservablesArray

slice

slice(args: int | tuple[int, ...]) → SparseObservable

slice(args: int | slice | None | tuple[int | slice | None, ...]) → ObservablesArray

GitHub

Wähle einen Ausschnitt der Beobachtungsgrößen aus diesem Array aus.

Anmerkung

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)

GitHub

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

ndarray

tolist

tolist()

GitHub

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 ]

validate

validate()

GitHub

Überprüfe die Konsistenz im Array der Beobachtungsgrößen.

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