solve_batch

Solver.solve_batch(y0, t_span, t_eval=None, drive_signals=None, noise_coeffs=None, *, method, max_dt, time_grid_jitter=None, batch_size=None, rng=None)

Propagate one or more initial conditions through a single time span.

Parameters:
  • y0 (ndarray | Array | List[ndarray | Array]) – Initial state or list of states/operators to evolve.

  • t_span (ndarray | Array) – Two-element array containing the start and end times.

  • t_eval (ndarray | Array | None) – Optional evaluation grid contained within t_span.

  • drive_signals (Sequence[Signal | SignalSum] | None) – Sequence of drive signals evaluated at runtime.

  • noise_coeffs (Sequence[Sequence[float] | None] | None) – Optional per-shot noise coefficients matching self.noise_generators.

  • method (str) – Backend identifier ("numpy_expm", "jax_expm", or "jax_expm_parallel").

  • max_dt (float) – Maximum allowed time-step length.

  • time_grid_jitter (float | None) – Optional jitter amplitude forwarded to compute_time_grid().

  • batch_size (int | None) – Optional batch size used when vectorising JAX solves.

  • rng – Optional simulation-local NumPy random generator used for time-grid jitter.

Return type:

SolverResult

Returns:

Solver result containing the propagated states for all shots.

Raises:

ValueError – If method is unsupported, or if batch_size is invalid for a JAX backend.