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ónHamiltonian(p. ej.Z(0) + Z(1)) o unQTensordirectamente.nshots (
int, por defecto0): Número de disparos para la estimación estocástica.0utiliza 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.