Skip to main content
IBM Quantum Platform

SupportsApplyUnitary

class SupportsApplyUnitary(*args, **kwargs)

Bases : Protocol

Un miroir du protocole ffsim.SupportsApplyUnitary .

Voir apply_unitary() pour la fonction d'aide indépendante du type qui redirige vers la méthode ci-dessous.

>>> 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éthodes protocolaires

_apply_unitary_

_apply_unitary_(vec, norb, nelec, copy)

Applique une transformation unitaire à un vecteur d'état.

Paramètres

  • vec (np.ndarray) – le vecteur d'état auquel appliquer la transformation unitaire.

  • norb (int) – le nombre d'orbitales spatiales.

  • nelec (int |tuple[int, int]) – soit un seul entier représentant le nombre de fermions pour un système sans spin, soit une paire d'entiers indiquant respectivement le nombre de fermions de spin alpha et de fermions de spin bêta.

  • copy (bool) –

    s'il faut copier le vecteur avant d'effectuer une opération dessus.

    • Si copy=True alors cette méthode renvoie toujours un vecteur nouvellement alloué et le vecteur d'origine reste inchangé.
    • Si copy=False alors cette méthode peut toujours renvoyer un vecteur nouvellement alloué, mais les données du vecteur d'origine risquent d'être écrasées. Il est également possible que le vecteur d'origine soit renvoyé, après avoir été modifié sur place.

Retours

Le vecteur transformé.

Type de retour

np.ndarray

Cette page a-t-elle été utile ?
Signaler un bogue, une coquille ou proposer du contenu sur GitHub.