SupportsApplyUnitary
class SupportsApplyUnitary(*args, **kwargs)
Bases: Protocol
Um espelho do protocolo ffsim.SupportsApplyUnitary .
Consulte apply_unitary() para conhecer a função auxiliar independente de tipo que encaminha para o método abaixo.
>>> 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 do protocolo
_apply_unitary_
_apply_unitary_(vec, norb, nelec, copy)
Aplica uma transformação unitária a um vetor de estado.
Parâmetros
-
vec (np.ndarray) – o vetor de estado ao qual se aplicará a transformação unitária.
-
norb (int) – o número de orbitais espaciais.
-
nelec (int |tuple[int, int]) – ou um único número inteiro que representa o número de férmions em um sistema sem spin, ou um par de números inteiros que indicam o número de férmions de spin alfa e de spin beta.
-
copy (bool) –
se é necessário copiar o vetor antes de realizar operações nele.
- Se isso ocorrer
copy=True, esse método sempre retorna um vetor recém-alocado, e o vetor original permanece inalterado. - Se
copy=Falseentão esse método ainda pode retornar um vetor recém-alocado, mas os dados do vetor original podem ser sobrescritos. Também é possível que o vetor original seja retornado, tendo sido modificado no próprio local.
- Se isso ocorrer
Retorna
O vetor transformado.
Tipo de retorno
np.ndarray