Evolución Analog
El funcional AnalogEvolution simula la evolución analog de un sistema cuántico bajo uno o más Hamiltonianos, siguiendo un schedule especificado dependiente del tiempo. Su interfaz de parámetros refleja la de Schedule, lo que facilita el barrido de formas de onda de control o amplitudes de pulse desde optimizadores clásicos.
Los observables y los conteos de shots se especifican por separado mediante objetos de lectura que se pasan a execute().
Parámetros
schedule (
Schedule): Define el tiempo total de evolución, los pasos temporales, los Hamiltonianos y sus coeficientes dependientes del tiempo.initial_state (
QTensor): Estado inicial del sistema.store_intermediate_results (bool, opcional): Si es True, registra el estado en cada paso temporal. El valor predeterminado es False.
Retorna
FunctionalResult: Inspeccioneget_expectation_values()para los observables medidos,get_state()para el estado final, yget_intermediate_states()yget_intermediate_expectation_values()cuandostore_intermediate_resultsestá habilitado.
Ejemplo de Uso
import numpy as np
from qilisdk.analog import Schedule, X, Z, Y
from qilisdk.core import QTensor
from qilisdk.core.interpolator import Interpolation
from qilisdk.backends import QiliSim, CudaBackend
from qilisdk.functionals import AnalogEvolution
# Define total time and timestep
T = 10.0
dt = 0.5
nqubits = 1
# Define Hamiltonians
Hx = -sum(X(i) for i in range(nqubits))
Hz = sum(Z(i) for i in range(nqubits))
# Create the AnalogEvolution functional
analog_evolution = AnalogEvolution(
schedule=Schedule.linear(Hx, Hz, total_time=T, dt=dt),
initial_state=QTensor.uniform(nqubits),
store_intermediate_results=False,
)
podemos ejecutarlo en el backend QiliSim:
from qilisdk.readout import Readout
# Execute on QiliSim backend and inspect results
backend = QiliSim()
results = backend.execute(
analog_evolution,
Readout().with_expectation(observables=[Z(0), X(0), Y(0)]),
)
print(results)
Salida
- Functional Results: [
Expectation Value Results: (
expectation_values=[-0.99388223, 0.0467696, -0.10005353],
)
]