Skip to main content
IBM Quantum Platform

SupportsApplyUnitaryPlaced

class SupportsApplyUnitaryPlaced(*args, **kwargs)

Basi: Protocol

Un'estensione specifica per il pacchetto ffsim.SupportsApplyUnitary.

Mentre il protocollo di ffsim applica un oggetto a un intero vettore di stato, questo aggiunge il posizionamento delle modalità locali dell’oggetto a quelle globali su cui agisce. Non ha alcun equivalente in ffsim: _apply_unitary_placed_() è l'unico chiamante e il controllo viene inoltrato direttamente ad esso tramite il duck-typing getattr . È presente qui esclusivamente a scopo di digitazione e documentazione, poiché ogni classe concreta ( FermionicGate così come la classe stessa FermionicCircuit ) implementa questo metodo.

Vedi FermionicCircuit._apply_unitary_placed_() per la semantica completa, compreso il modo in cui un’implementazione _apply_unitary_ semplice (senza argomento di posizionamento della modalità) viene applicata solo al posizionamento identitario.

Metodi del protocollo

_apply_unitary_placed_

_apply_unitary_placed_(vec, norb, nelec, copy, freg_indices)

Applica una trasformazione unitaria a un vettore di stato, dopo aver mappato le modalità locali su quelle globali.

Parametri

  • vec (np.ndarray) – il vettore di stato a cui applicare la trasformazione unitaria.
  • norb (int) – il numero di orbitali spaziali del vettore di stato globale.
  • nelec (int |tuple[int, int]) – o un singolo numero intero che rappresenta il numero di fermioni in un sistema senza spin, oppure una coppia di numeri interi che indica il numero di fermioni con spin alfa e beta.
  • copy (bool) – se copiare il vettore prima di effettuare operazioni su di esso.
  • freg_indices (list[int]) – gli indici delle modalità assolute (globali) a cui si mappano le modalità locali di questo oggetto.

Risultati

Il vettore trasformato.

Tipo di restituzione

np.ndarray

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