Valores Esperados

El uso de with_expectation() instruye al backend a calcular ⟨ψ|O|ψ⟩ para cada observable en la lista.

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ámetros

  • observables (list[Hamiltonian | QTensor]): Los operadores cuyos valores esperados se solicitan. Cada entrada puede ser una expresión Hamiltonian (p. ej. Z(0) + Z(1)) o un QTensor directamente.

  • nshots (int, por defecto 0): Número de disparos para la estimación estocástica. 0 utiliza el producto interno exacto del vector de estado, lo que significa que no hay ruido de muestreo; solo disponible en simuladores.

Cuándo Usarlo

Use los valores esperados cuando necesite un readout de energía escalar o de observable, por ejemplo en algoritmos variacionales (VQE, evaluación de energía en QAOA) o en estudios de evolución temporal analógica.