Evolució Analògica

El funcional AnalogEvolution simula l’evolució analògica d’un sistema quàntic sota un o més Hamiltonians, seguint un programa dependent del temps especificat. La seva interfície de paràmetres reflecteix la de Schedule, cosa que facilita el recorregut de formes d’ona de control o amplituds de pols des d’optimitzadors clàssics.

Els observables i els comptatges de mesures s’especifiquen per separat mitjançant objectes de lectura passats a execute().

Paràmetres

  • schedule (Schedule): Defineix el temps total d’evolució, els passos de temps, els Hamiltonians i els seus coeficients dependents del temps.

  • initial_state (QTensor): Estat inicial del sistema.

  • store_intermediate_results (bool, opcional): Si és True, registra l’estat en cada pas de temps. El valor per defecte és False.

Retorna

Exemple d’Ús

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,
)

podem executar-lo al 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)

Sortida

- Functional Results: [

Expectation Value Results: (
    expectation_values=[-0.99388223, 0.0467696, -0.10005353],
)

]