Skip to main content
IBM Quantum Platform

SupportsApplyUnitaryPlaced

class SupportsApplyUnitaryPlaced(*args, **kwargs)

Bases: Protocol

Una extensión específica del paquete que incluye SupportsApplyUnitary una ubicación de modo.

A diferencia de SupportsApplyUnitary (mirroring ffsim.SupportsApplyUnitary), este protocolo no tiene un equivalente en ffsim ni ninguna función auxiliar: _apply_unitary_placed_() es el único llamante, y se le transfiere directamente mediante duck-typing getattr en lugar de a través de una función libre. Aparece aquí únicamente con fines de tipificación y documentación, ya que cada clase concreta ( FermionicGate así como la propia FermionicCircuit clase) implementa este método.

Consulta FermionicCircuit._apply_unitary_placed_() para conocer la semántica completa, incluyendo cómo una implementación SupportsApplyUnitary simple (sin argumento de ubicación de modo) solo se aplica a la ubicación de identidad.

Métodos del protocolo

_apply_unitary_placed_

_apply_unitary_placed_(vec, norb, nelec, copy, freg_indices)

Aplica una transformación unitaria a un vector de estado, tras convertir los modos locales en modos globales.

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 del vector de estado global.
  • 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 hay que copiar el vector antes de realizar operaciones con él.
  • freg_indices (list[int]) – los índices de los modos absolutos (globales) a los que se asignan los modos locales de este objeto.

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.