SciPost logo

SciPost Submission Page

A Python GPU-accelerated solver for the Gross-Pitaevskii equation and applications to many-body cavity QED

by Lorenzo Fioroni, Luca Gravina, Justyna Stefaniak, Alexander Baumgärtner, Fabian Finger, Davide Dreon, Tobias Donner

Submission summary

Authors (as registered SciPost users): Davide Dreon · Lorenzo Fioroni
Submission information
Preprint Link:  (pdf)
Code repository:
Date submitted: 2024-04-23 18:36
Submitted by: Dreon, Davide
Submitted to: SciPost Physics Codebases
Ontological classification
Academic field: Physics
  • Atomic, Molecular and Optical Physics - Theory
  • Quantum Physics
Approach: Computational


TorchGPE is a general-purpose Python package developed for solving the Gross-Pitaevskii equation (GPE). This solver is designed to integrate wave functions across a spectrum of linear and non-linear potentials. A distinctive aspect of TorchGPE is its modular approach, which allows the incorporation of arbitrary self-consistent and time-dependent potentials, e.g., those relevant in many-body cavity QED models. The package employs a symmetric split-step Fourier propagation method, effective in both real and imaginary time. In our work, we demonstrate a significant improvement in computational efficiency by leveraging GPU computing capabilities. With the integration of the latter technology, TorchGPE achieves a substantial speed-up with respect to conventional CPU-based methods, greatly expanding the scope and potential of research in this field.

Current status:
In refereeing

Reports on this Submission

Anonymous Report 1 on 2024-5-23 (Invited Report)


1) Clearly written library that should be easy to use
2) Good documentation of the features that are available


1) Lack of comparison to other available libraries
2) Quite a few features missing which would make this a really useful toolbox


The paper by Fiorioni et al introduces a new GPU accelerated python library for simulating the GPE in a range of potentials. The documentation included with the library is clear and the examples chosen and described are simple enough to easily follow but complicated enough to show a range of capabilities of the software. The structure and design of the software package should make it useful for researchers working in this area, especially when the additions mentioned in the final section are included. The paper would be significantly improved with the addition of more performance benchmarks for the more complicated models studied and also comparison to other libraries which are available for finding solutions to the same equations.

Requested changes

1) For each of the examples studied the authors should present a study of how well their algorithm converges to the correct result with eg the size of the grid, along with the required computing resources.

2) It would also be useful to add some comparisons to other libraries. How much more efficient is the code here?

3) The link at the end of the paper does not have the correct address


Ask for minor revision

  • validity: high
  • significance: ok
  • originality: ok
  • clarity: top
  • formatting: excellent
  • grammar: perfect

Login to report or comment