Skip to main content
IBM Quantum Platform

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=True entonces 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.

Devuelve

El vector transformado.

Tipo de retorno

np.ndarray

¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.