OperatorTrait
class OperatorTrait(*args, **kwargs)
Basi: Protocol
Un protocollo che indica tutti i metodi implementati dalle classi operatrici.
Attributi
groups
Restituisce gli indici dei gruppi.
Metodi
adjoint
equiv
equiv(other, atol)
Verifica se questo operatore è equivalente a un altro entro la tolleranza assoluta specificata.
Parametri
Tipo di restituzione
from_terms
classmethod from_terms(terms)
Crea un nuovo operatore a partire da un iteratore (vedi anche iter_terms()).
Parametri
terms (Iterable)
Tipo di restituzione
from_terms_with_groups
classmethod from_terms_with_groups(terms)
Crea un nuovo operatore a partire da un iteratore (vedi anche iter_terms_with_groups()).
Parametri
terms (Iterable)
Tipo di restituzione
get_coeffs
get_support
get_support()
Restituisce l'insieme degli indici di modalità su cui agisce questo operatore.
Tipo di restituzione
has_groups
has_groups()
Indica se questo operatore tiene traccia degli indici di gruppo.
Ciò equivale a (ma è più economico di) verificare op.groups is not None, poiché non copia gli indici dei gruppi dall'operatore per esaminarli.
Tipo di restituzione
ichop
ichop(atol)
Riduce i coefficienti di questo operatore al di sotto della tolleranza assoluta.
Parametri
atol (float)
is_hermitian
is_hermitian(atol=1e-08)
Restituisce se questo operatore è ermitiano.
Il controllo riduce la differenza tra questo operatore e il suo adjoint() alla forma normale (vedi normal_ordered()) e confronta il risultato con zero(). La sua forza dipende quindi esclusivamente dalla forma normale a cui l’operatore specifico si riduce.
Un risultato True è sempre affidabile. Un risultato False è affidabile solo per i tipi di operatori la cui forma normale è una forma canonica vera e propria; per gli altri, questa verifica è conservativa e può restituire un risultato errato False per un operatore che in realtà è ermitiano. Consultare l'implementazione specifica per verificare quale delle due opzioni sia applicabile.
Parametri
atol (float) – L'accuratezza numerica entro la quale i coefficienti sono considerati uguali. Il valore predefinito è 1e-8.
Risultati
Se questo operatore sia ermitiano.
Tipo di restituzione
iter_terms
iter_terms_with_groups
iter_terms_with_groups()
Esegue un'iterazione sui termini di questo operatore con i relativi indici di gruppo.
Tipo di restituzione
normal_ordered
normal_ordered(*args, **kwargs)
Restituisce la forma ordinata normalmente di questo operatore.
Una specifica implementazione di questo metodo potrebbe richiedere argomenti aggiuntivi.
Tipo di restituzione
num_groups
one
relabel_modes
relabel_modes(permutation)
Rinomina le modalità dell'operatore.
Parametri
Tipo di restituzione
simplify
simplify(atol)
Semplifica i termini di questo operatore, scartando quelli al di sotto della tolleranza assoluta.
Parametri
atol (float)
Tipo di restituzione
split_out_groups
split_out_groups(group_indices=None)
Suddivide questo operatore in un elenco facoltativo di nuovi operatori in base al suo groups.
Se group_indices viene omesso, vengono costruiti tutti i gruppi, in ordine di indice. In caso contrario, vengono creati solo gli indici richiesti, nell'ordine specificato.
Parametri
group_indices (Sequence[int] | None)
Tipo di restituzione