SupportsApplyUnitary
class SupportsApplyUnitary(*args, **kwargs)
Basi: Protocol
Una copia del protocollo ffsim.SupportsApplyUnitary .
Vedi apply_unitary() per la funzione di supporto indipendente dal tipo che indirizza al metodo riportato di seguito.
>>> import numpy as np
>>> from qiskit_fermions.circuit.library import OrbitalRotation
>>> gate = OrbitalRotation(np.eye(2))
>>> vec = np.array([1.0, 0.0], dtype=complex)
>>> gate._apply_unitary_(vec, norb=2, nelec=1, copy=True)
array([1.+0.j, 0.+0.j])
Metodi del protocollo
_apply_unitary_
_apply_unitary_(vec, norb, nelec, copy)
Applica una trasformazione unitaria a un vettore di stato.
Parametri
-
vec (np.ndarray) – il vettore di stato a cui applicare la trasformazione unitaria.
-
norb (int) – il numero di orbitali spaziali.
-
nelec (int |tuple[int, int]) – o un singolo numero intero che rappresenta il numero di fermioni per un sistema senza spin, oppure una coppia di numeri interi che indica il numero di fermioni con spin alfa e con spin beta.
-
copy (bool) –
se copiare il vettore prima di eseguire operazioni su di esso.
- Se
copy=Trueallora questo metodo restituisce sempre un vettore appena allocato, mentre il vettore originale rimane inalterato. - Se, allora
copy=Falsequesto metodo potrebbe comunque restituire un vettore appena allocato, ma i dati del vettore originale potrebbero essere sovrascritti. È anche possibile che venga restituito il vettore originale, modificato in loco.
- Se
Risultati
Il vettore trasformato.
Tipo di restituzione
np.ndarray