Resultats Intermedis
Quan un funcional es construeix amb store_intermediate_results=True (actualment compatible amb AnalogEvolution i QuantumReservoir), o mitjançant mesures a mig circuit en un Circuit, el backend emmagatzema un resultat de readout per a cada pas de temps. Els mateixos mètodes de readout s’apliquen a cada pas.
from qilisdk.analog import Schedule, Z, X
from qilisdk.core import ket
from qilisdk.functionals import AnalogEvolution
from qilisdk.readout import Readout
from qilisdk.backends import QiliSim
T = 5.0
schedule = Schedule(
hamiltonians={"driver": X(0), "problem": Z(0)},
coefficients={
"driver": {(0.0, T): lambda t: 1.0 - t / T},
"problem": {(0.0, T): lambda t: t / T},
},
dt=0.1,
)
backend = QiliSim()
functional = AnalogEvolution(schedule, initial_state=ket(0), store_intermediate_results=True)
spec = Readout().with_expectation(observables=[Z(0)]).with_state_tomography()
result = backend.execute(functional, readout=spec)
# Per-step expectation values (intermediate steps + final step)
all_evs = result.get_intermediate_expectation_values() # list[list[float]]
all_states = result.get_intermediate_states() # list[QTensor]
all_probs = result.get_intermediate_probabilities() # list[dict[str, float]]
all_samples = result.get_intermediate_samples() # list[dict[str, int]]
Propietat |
Tipus |
Requereix |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
Totes les llistes intermèdies contenen una entrada per pas de temps en ordre cronològic, amb el pas final afegit al final. result[i] retorna el ReadoutCompositeResults per al pas i.