Skip to main content
IBM Quantum Platform

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

adjoint()

Restituisce l'aggiunto di questo operatore.

Tipo di restituzione

Sé

equiv

equiv(other, atol)

Verifica se questo operatore è equivalente a un altro entro la tolleranza assoluta specificata.

Parametri

Tipo di restituzione

bool

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

Sé

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

Sé

get_coeffs

get_coeffs()

Restituisce i coefficienti dei termini.

Tipo di restituzione

elenco [ complesso ]

get_support

get_support()

Restituisce l'insieme degli indici di modalità su cui agisce questo operatore.

Tipo di restituzione

frozenset [ int ]

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

bool

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.

Nota

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

bool

iter_terms

iter_terms()

Esegue un'iterazione sui termini di questo operatore.

Tipo di restituzione

Iteratore

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

Iteratore

normal_ordered

normal_ordered(*args, **kwargs)

Restituisce la forma ordinata normalmente di questo operatore.

Nota

Una specifica implementazione di questo metodo potrebbe richiedere argomenti aggiuntivi.

Tipo di restituzione

Sé

num_groups

num_groups()

Restituisce il numero di gruppi.

Tipo di restituzione

int | Nessuno

one

classmethod one()

Crea l'operatore di identità moltiplicativa.

Tipo di restituzione

Sé

relabel_modes

relabel_modes(permutation)

Rinomina le modalità dell'operatore.

Parametri

permutation (list[int])

Tipo di restituzione

Sé

simplify

simplify(atol)

Semplifica i termini di questo operatore, scartando quelli al di sotto della tolleranza assoluta.

Parametri

atol (float)

Tipo di restituzione

Sé

split_out_groups

split_out_groups(group_indices=None)

Suddivide questo operatore in un elenco facoltativo di nuovi operatori in base al suo groups.

Nota

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

list [ Self ]

zero

classmethod zero()

Costruisce l'operatore di identità additiva.

Tipo di restituzione

Sé

Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.