Skip to main content
IBM Quantum Platform

OperatorTrait

class OperatorTrait(*args, **kwargs)

Bases : Protocol

Un protocole répertoriant toutes les méthodes implémentées par les classes d'opérateurs.


Attributs

groups

Renvoie les indices des groupes.


Méthodes

adjoint

adjoint()

Renvoie l'adjoint de cet opérateur.

Type de retour

Soi

equiv

equiv(other, atol)

Vérifie si cet opérateur est équivalent à un autre, dans les limites de la tolérance absolue spécifiée.

Paramètres

Type de retour

booléen

from_terms

classmethod from_terms(terms)

Crée un nouvel opérateur à partir d'un itérateur (voir aussi iter_terms()).

Paramètres

terms (Iterable)

Type de retour

Soi

from_terms_with_groups

classmethod from_terms_with_groups(terms)

Crée un nouvel opérateur à partir d'un itérateur (voir aussi iter_terms_with_groups()).

Paramètres

terms (Iterable)

Type de retour

Soi

get_coeffs

get_coeffs()

Renvoie les coefficients des termes.

Type de retour

liste [ complexe ]

get_support

get_support()

Renvoie l'ensemble des indices de mode sur lesquels cet opérateur agit.

Type de retour

frozenset [ int ]

group_weights

group_weights()

Renvoie la moyenne de l'amplitude absolue des coefficients de chaque groupe.

Cela revient à (tout en étant moins coûteux que) réduire get_coeffs() et groups à une seule valeur par groupe dans l' NumPy,, car cela évite de copier une valeur par terme non regroupé hors de l'opérateur pour ensuite la regrouper à nouveau.

Type de retour

liste [ float ] | None

has_groups

has_groups()

Indique si cet opérateur prend en compte les indices de groupe.

Cela revient à vérifier (mais coûte moins cher que) op.groups is not None, car cela ne nécessite pas de copier les indices de groupe hors de l'opérateur pour les inspecter.

Type de retour

booléen

ichop

ichop(atol)

Réduit les coefficients de cet opérateur en dessous de la tolérance absolue.

Paramètres

atol (float)

iter_terms

iter_terms()

Parcourt les termes de cet opérateur.

Type de retour

Itérateur

iter_terms_with_groups

iter_terms_with_groups()

Parcourt les termes de cet opérateur en indiquant leurs indices de groupe.

Type de retour

Itérateur

normal_ordered

normal_ordered(*args, **kwargs)

Renvoie la forme normalisée de cet opérateur.

Remarque

Une implémentation spécifique de cette méthode peut accepter des arguments supplémentaires.

Type de retour

Soi

num_groups

num_groups()

Renvoie le nombre de groupes.

Type de retour

int | None

one

classmethod one()

Construit l'opérateur d'identité multiplicative.

Type de retour

Soi

relabel_modes

relabel_modes(permutation)

Renomme les modes de l'opérateur.

Paramètres

permutation (list[int])

Type de retour

Soi

simplify

simplify(atol)

Simplifie les termes de cet opérateur en éliminant ceux qui se situent en dessous de la tolérance absolue.

Paramètres

atol (float)

Type de retour

Soi

split_out_groups

split_out_groups(group_indices=None)

Divise cet opérateur en une liste facultative de nouveaux opérateurs en fonction de son groups.

Remarque

Si group_indices est omis, tous les groupes sont construits, par ordre d'index. Sinon, seuls les index demandés sont créés, dans l'ordre indiqué.

Paramètres

group_indices (Sequence[int] | None)

Type de retour

liste [ Self ]

zero

classmethod zero()

Construit l'opérateur d'identité additive.

Type de retour

Soi

Cette page a-t-elle été utile ?
Signaler un bogue, une coquille ou proposer du contenu sur GitHub.