dynamiqs/dynamiqs

High-performance quantum systems simulation with JAX (GPU-accelerated & differentiable solvers).

What it solves

Dynamiqs provides high-performance, GPU-accelerated simulations of quantum systems. It addresses the need for faster simulations of large-scale quantum systems and simplifies gradient-based parameter estimation and quantum optimal control by making simulations differentiable.

How it works

Built with JAX and based on Diffrax, the library implements solvers for the Schrödinger equation, the Lindblad master equation, and the stochastic master equation. It leverages JAX's capabilities to run simulations on CPUs and GPUs, compute gradients of arbitrary functions with respect to system parameters, and execute multiple simulations concurrently through batching.

Who it’s for

Physicists, theorists, experimentalists, and machine learning practitioners working with quantum technologies, specifically those needing to simulate large quantum systems or perform quantum optimal control.

Highlights

  • GPU Acceleration: High-performance simulation on CPUs and GPUs.
  • Differentiable Solvers: Ability to compute machine-precision gradients and higher-order derivatives (e.g., Hessians) with respect to system parameters.
  • JAX Ecosystem Compatibility: Full compatibility with JAX and a QuTiP-like API for ease of use.
  • Concurrent Execution: Batching over Hamiltonians, initial states, or jump operators to run many simulations simultaneously.
  • Flexible Solvers: Support for various ODE methods, time-varying problems, and custom save functions.
  • Sparse Data Format: A custom sparse format for matrices with few dense diagonals to speed up large system simulations.

Related

  • Project
  • Project
  • Project
  • Project
  • Project