ObservablesArray
class qiskit.primitives.ObservablesArray(observables, num_qubits=None, copy=True, validate=True)
Bases : ShapedMixin
Un tableau ND d'observables hermitiennes pour une Estimator primitive.
Initialiser un tableau d'observables.
Paramètres
- observables (ObservablesArrayLike) – Un tableau d'objets compatibles avec les observables de base.
- copy (bool) – Précisez les paramètres
copykwarg de laobject_array()fonction lors de l'initialisation des observables. - num_qubits (int | None) – Le nombre de qubits des observables. Si ce nombre n'est pas précisé, le nombre de qubits sera déduit à partir des observables. Si cette valeur est indiquée, le nombre de qubits spécifié doit correspondre au nombre de qubits dans les observables.
- validate (bool) – Si c'est le cas, convertissez les entrées au format interne et validez-les. Si cette valeur est fausse, l'entrée doit déjà être de type tableau.
Augmentations
ValueError – Si validate=True et que le tableau des observables d'entrée n'est pas valide.
Attributs
ndim
num_qubits
Le nombre de qubits sur lesquels agit chaque observable.
shape
size
Méthodes
apply_layout
apply_layout(layout, num_qubits=None)
Appliquez une mise en page de transpileur à ce fichier ObservablesArray.
Paramètres
- layout (TranspileLayout |list[int] | None) – Soit a
TranspileLayout, soit une liste d'entiers, soit None. Si « layout » et «num_qubits» sont tous deux vides, une copie profonde du tableau est renvoyée. - num_qubits (int | None) – Le nombre de qubits auquel étendre le réseau. Si
layoutcette valeur n'est pasTranspileLayoutfournie, le nombre de qubits du circuit de sortie du transpileur sera utilisé par défaut. Silayoutest une liste d'entiers, la permutation spécifiée sera appliquée sans aucune expansion. Si layout est None, le tableau sera étendu au nombre de qubits spécifié.
Retours
Une nouvelle version ObservablesArray avec la mise en page fournie appliquée.
Augmentations
…
Type de retour
coerce
classmethod coerce(observables)
Convertir ObservablesArrayLike en ObservableArray.
Paramètres
observables (str |Pauli |SparsePauliOp |SparseObservable |Mapping[str |Pauli, float] | ArrayLike) – un objet à ajouter au tableau des observables.
Retours
Un tableau d'observables contraints.
Type de retour
coerce_observable
classmethod coerce_observable(observable)
Convertir un objet de type « observable » au format interne.
Paramètres
observable (str |Pauli |SparsePauliOp |SparseObservable |Mapping[str |Pauli, float]) – L'observable à utiliser pour le formatage.
Retours
La grandeur observable sous contrainte.
Augmentations
- TypeError – Si la valeur saisie ne peut pas être mise en forme car son type n'est pas valide.
- ValueError – Si l'observable d'entrée n'est pas valide ou est vide.
Type de retour
copy
equivalent
equivalent(other, tol=1e-08)
Détermine si les tableaux d'observables sont égaux dans les limites d'une tolérance donnée.
Paramètres
- other (ObservablesArray) – Un autre tableau d'observables à comparer.
- tol (float) – La tolérance à appliquer lors de
simplifyla vérification.
Retours
Si les deux tableaux d'observables ont la même structure et le même nombre de qubits, et, le cas échéant, s'ils sont identiques dans les limites de tolérance.
Type de retour
ravel
ravel()
Renvoie un nouveau tableau à une dimension.
Le tableau renvoyé a une taille shape donnée par (size, ), où est la taille size de ce tableau.
Retours
Un nouveau tableau aplati.
Type de retour
reshape
reshape(*shape)
Renvoie un nouveau tableau avec une structure différente.
Cela donne lieu à une nouvelle vue des mêmes tableaux.
Paramètres
shape (int |Iterable[int]) – La structure du tableau renvoyé.
Retours
Un nouveau tableau.
Type de retour
slice
slice(args: int | tuple[int, ...]) → SparseObservable
slice(args: int | slice | None | tuple[int | slice | None, ...]) → ObservablesArray
Prenez un sous-ensemble des observables de ce tableau.
Cette méthode ne copie pas les observables; toute modification apportée aux observables renvoyées aura une incidence sur cette instance.
Retours
Un seul SparseObservable si un entier est fourni pour chaque axe du tableau, sinon, un nouveau ObservablesArray.
sparse_observables_array
sparse_observables_array(copy=False)
Convertir en un numpy.ndarray avec des éléments de type SparseObservable.
Paramètres
copy (bool) – Indique s'il faut créer une nouvelle instance de tableau contenant de nouvelles observables clairsemées comme éléments.
Retours
Un numpy.ndarray contenant des éléments de type SparseObservable.
Type de retour
tolist
tolist()
Convertir en liste imbriquée.
Tout comme pour la méthode tolist de Numpy, le niveau d'imbrication dépend de la dimension du tableau des observables. Dans le cas d'une dimension 0, la méthode renvoie une seule observable (dict dans le cas d'une somme pondérée de Paulis) au lieu d'une liste.
Exemples :
Valeurs de retour pour une liste à un élément par rapport à un élément unique :
>>> 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'>Type de retour
liste | chaîne | Pauli | SparsePauliOp | SparseObservable | Mapping [ chaîne | Pauli, float ]