SupportsApplyUnitary
class SupportsApplyUnitary(*args, **kwargs)
Bases: Protocol
Un espejo del protocolo ffsim.SupportsApplyUnitary .
Consulta la función auxiliar independiente del tipo apply_unitary() que redirige al método que se indica a continuación.
>>> 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])
Métodos del protocolo
_apply_unitary_
_apply_unitary_(vec, norb, nelec, copy)
Aplica una transformación unitaria a un vector de estado.
Parámetros
-
vec (np.ndarray) – el vector de estado al que se va a aplicar la transformación unitaria.
-
norb (int) – el número de orbitales espaciales.
-
nelec (int |tuple[int, int]) – o bien un único número entero que represente el número de fermiones en un sistema sin espín, o bien un par de números enteros que indiquen el número de fermiones de espín alfa y de espín beta.
-
copy (bool) –
si se debe copiar el vector antes de realizar operaciones con él.
- Si
copy=Trueentonces este método siempre devuelve un vector recién asignado y el vector original no sufre ninguna modificación. - Si es así
copy=False, es posible que este método siga devolviendo un vector recién asignado, pero los datos del vector original podrían quedar sobrescritos. También es posible que se devuelva el vector original, modificado in situ.
- Si
Devuelve
El vector transformado.
Tipo de retorno
np.ndarray