Skip to main content
IBM Quantum Platform

SupportsApplyUnitary

class SupportsApplyUnitary(*args, **kwargs)

Basi: Protocol

Una copia del protocollo ffsim.SupportsApplyUnitary .

Vedi apply_unitary() per la funzione di supporto indipendente dal tipo che indirizza al metodo riportato di seguito.

>>> 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])

Metodi del protocollo

_apply_unitary_

_apply_unitary_(vec, norb, nelec, copy)

Applica una trasformazione unitaria a un vettore di stato.

Parametri

  • vec (np.ndarray) – il vettore di stato a cui applicare la trasformazione unitaria.

  • norb (int) – il numero di orbitali spaziali.

  • nelec (int |tuple[int, int]) – o un singolo numero intero che rappresenta il numero di fermioni per un sistema senza spin, oppure una coppia di numeri interi che indica il numero di fermioni con spin alfa e con spin beta.

  • copy (bool) –

    se copiare il vettore prima di eseguire operazioni su di esso.

    • Se copy=True allora questo metodo restituisce sempre un vettore appena allocato, mentre il vettore originale rimane inalterato.
    • Se, allora copy=False questo metodo potrebbe comunque restituire un vettore appena allocato, ma i dati del vettore originale potrebbero essere sovrascritti. È anche possibile che venga restituito il vettore originale, modificato in loco.

Risultati

Il vettore trasformato.

Tipo di restituzione

np.ndarray

Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.