Skip to main content
IBM Quantum Platform

SupportsApplyUnitaryPlaced

class SupportsApplyUnitaryPlaced(*args, **kwargs)

Basi: Protocol

Un'estensione specifica del pacchetto che prevede SupportsApplyUnitary un posizionamento in modalità.

A differenza di SupportsApplyUnitary (mirroring ffsim.SupportsApplyUnitary), questo protocollo non ha un equivalente ffsim né una funzione di supporto: _apply_unitary_placed_() è l'unico chiamante e il protocollo viene distribuito direttamente a esso tramite il getattr duck-typing, anziché attraverso una funzione libera. È 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 SupportsApplyUnitary 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 privo di 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 eseguire 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.