simulate_time_evolution

Model.simulate_time_evolution(n_shots=1, start=0.0, end=None, apply_noise=True, random_seed=None, simulation_method='single_sine_wave', n_eval=251, n_split=250, time_grid_jitter=None, state_only=False, solver_method=None, verbose=False, test_convergence=False, time_segment_sequence=None, batch_size=None)

Simulate the model’s time evolution under its driving fields and noise.

Parameters:
  • n_shots (int) – Number of the shots.

  • start (float) – Start time of the simulation (in \(\mu\text{s}\), defaults to 0).

  • end (float | None) – End time of the simulation (in \(\mu\text{s}\), defaults to end of the last pulse).

  • apply_noise (bool) – Whether to include noise or not.

  • random_seed (int) – Optional seed for the simulation-local random number generator used for noise randomization and time-grid jitter.

  • simulation_method (str) – It must be 'basic' or 'single_sine_wave'. Latter simulates only a single sine wave in the case of a monochromatic excitation that could accelerate the simulation.

  • n_eval (int) – Number of evaluation points per time segments.

  • n_split (int) – Number of split points per time segments.

  • time_grid_jitter (float | None) – Optional jitter factor applied when subdividing time steps (None disables jitter; defaults to None).

  • state_only (bool) – Whether to simulate the time evolution from an initial state or simulate the full propagators.

  • solver_method (str | None) – Method of the evolution solver used to simulate the time evolution (defaults to 'numpy_expm' on CPU and 'jax_expm_parallel' on GPU).

  • batch_size (int | None) – Optional number of shots to evolve in a single JAX batch. None processes all at once.

  • verbose (bool) – Whether to verbose the details of the simulation or not.

  • test_convergence (bool | int) – Whether to test the convergence of the final propagators by halving the time steps. If an int provided, it specifies the number of times the convergence test is repeated.

Return type:

SimulationResult

Returns:

Results of the simulation, which contains the propagators/states of the simulation, a copy of the simulated model, the timestamps of the simulation and the noise realizations corresponding to the different shots.