Solvers

Python solver entry points.

openquantumsim.solvers.mesolve(H, rho0, tlist, *, c_ops=None, e_ops=None, state_observables=None, options=None)

Solve a Lindblad master equation.

Supports time-independent Hamiltonians and TimeDependentHamiltonian objects with scalar coefficients.

Parameters:
  • H (Operator | TimeDependentHamiltonian)

  • rho0 (ndarray[tuple[Any, ...], dtype[complex128]])

  • tlist (Sequence[float])

  • c_ops (Sequence[Operator] | None)

  • e_ops (Sequence[Operator] | None)

  • state_observables (Mapping[str, Callable[[ndarray[tuple[Any, ...], dtype[complex128]]], Any]] | None)

  • options (Options | None)

Return type:

Result

openquantumsim.solvers.mcsolve(H, psi0, tlist, *, c_ops=None, e_ops=None, n_traj=None, state_observables=None, options=None)

Run Monte Carlo wave-function trajectories.

Built-in state_observables created by openquantumsim.state_metrics() are aggregated by the backend when they can be represented as linear expectation values or pure-trajectory constants. Arbitrary Python callbacks remain available through single_trajectory() or deterministic mesolve() runs with saved state access.

Parameters:
  • H (Operator)

  • psi0 (ndarray[tuple[Any, ...], dtype[complex128]])

  • tlist (Sequence[float])

  • c_ops (Sequence[Operator] | None)

  • e_ops (Sequence[Operator] | None)

  • n_traj (int | None)

  • state_observables (Mapping[str, Callable[[ndarray[tuple[Any, ...], dtype[complex128]]], Any]] | None)

  • options (Options | None)

Return type:

Result

openquantumsim.solvers.single_trajectory(H, psi0, tlist, *, c_ops=None, e_ops=None, state_observables=None, options=None)

Run one Monte Carlo wave-function trajectory.

Set Options(save_states=True) to return the ket at each requested time.

Parameters:
  • H (Operator)

  • psi0 (ndarray[tuple[Any, ...], dtype[complex128]])

  • tlist (Sequence[float])

  • c_ops (Sequence[Operator] | None)

  • e_ops (Sequence[Operator] | None)

  • state_observables (Mapping[str, Callable[[ndarray[tuple[Any, ...], dtype[complex128]]], Any]] | None)

  • options (Options | None)

Return type:

Result

openquantumsim.solvers.steadystate(H, c_ops, *, method='iterative-gmres', options=None)

Compute a Lindblad steady state.

Parameters:
Return type:

ndarray[tuple[Any, …], dtype[complex128]]