Valors Esperats

L’ús de with_expectation() instrueix el backend a calcular ⟨ψ|O|ψ⟩ per a cada observable de la llista.

from qilisdk.analog import X, Y, Z
from qilisdk.readout import Readout
from qilisdk.backends import QiliSim
from qilisdk.digital import Circuit
from qilisdk.functionals import DigitalPropagation

backend = QiliSim()
functional = DigitalPropagation(Circuit(2))

spec = Readout().with_expectation(observables=[Z(0), X(0), Y(0)], nshots=0)
result = backend.execute(functional, readout=spec)

evs = result.get_expectation_values()   # list[float], one entry per observable
# e.g. [-0.994, 0.047, -0.100]

Paràmetres

  • observables (list[Hamiltonian | QTensor]): Els operadors dels quals es sol·liciten els valors esperats. Cada entrada pot ser una expressió Hamiltonian (p. ex. Z(0) + Z(1)) o un QTensor directament.

  • nshots (int, per defecte 0): Nombre de shots per a l’estimació estocàstica. 0 utilitza el producte interior exacte del vector d’estat, és a dir, sense soroll de sampling, disponible únicament en simuladors.

Quan Utilitzar-lo

Utilitzeu els valors esperats quan necessiteu un readout d’energia escalar o observable, per exemple en algoritmes variacionals (VQE, avaluació d’energia QAOA) o estudis d’evolució temporal analògica.