Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Log inSign up
Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Blog
Job Board
Q3AS

© 2026 Aqora Quantum S.A.S.

TermsPrivacyLegal Notice

qf-pgpe: a verified pure-Rust projected Gross-Pitaevskii engine for quantum-fluid experiments, with a Python extension (the quantum-fluids module of rusty-SUNDIALS)

Xavier Callens

Published Oct 9, 2026• 0 citations
Publisher

Abstract

Classical-field (projected Gross-Pitaevskii) simulations of two-dimensional Bose fluids are usually scripts whose correctness is checked, when at all, by a few conservation laws. We describe qf-pgpe, the quantum-fluids module of the rusty-SUNDIALS numerical library: a pure-Rust integrating-factor RK4 engine for the projected equation on a periodic grid, a vortex instrument (periodic theta-function imprint, sub-grid detection, tracking), the registered estimators of vortex friction and diffusion, a thermal-state toolkit, a vortex-phonon scattering instrument, and a Python extension (pyo3, numpy) with a drop-in stepper. Every module is a port of a Python original of an ongoing pre-registered research programme and carries a numeric cross-check against it: estimators agree to 2e-14 on real vortex tracks, a 31-run scattering matrix to 5e-11, measurements on a shared thermal field to 1e-14; the engine is checked against known answers and against rusty-SUNDIALS' own CVODE (global error falling as dt^4.00). The cross-checks found three defects, one of them in the Python programme: its primary estimator of the mutual friction is biased low by vortex diffusion (-8 to -22 %), a flaw the registered synthetic gate had not shown. On one thread of a 2013 laptop CPU the engine is 4.3, 4.2, 2.7, 2.5 times faster per step than the numpy engine at N = 64, 128, 256, 512 (3.2 to 1.5 times against the fastest Python engine tried, torch on CPU), and the drop-in extension makes an end-to-end thermal-state measurement 5.3 times faster with identical results. No claim is made about GPU codes or other published solvers, which were not measured. Version 2 adds the first reproduction of an external, published solver run (Kwon and Shin, flow past a penetrable obstacle: a different scheme and precision): the initial field is reproduced to 2.8e-8, the force on the obstacle to 2e-4 over 10 time units, and the vortex counts at 9 of 10 times up to t = 50, with the disagreements stated (force differences of 0.19 % of the maximum once the wake forms; one count differs by one). It also reports a JAX/XLA row (checksums equal to 1e-13; faster than the single-threaded Rust step at N >= 256 only because it uses threads; pinned to one core Rust is 1.1-1.8 times faster) and an optional, bit-identical intra-step threading mode of the engine (2.4 times at N = 512, measured on a loaded machine).

DOI
10.5281/zenodo.23266976

Related papers

QECTOR-Decoder-v3: High-Performance Compiled Rust Quantum Error Correction Engine & Verification Proof Suite

Guillaume Lessard

QECTOR-Decoder-v3 is a high-throughput, multi-backend quantum error correction (QEC) decoding suite implemented in compiled native Rust with native Python bindings via PyO3. Designed for high-performance computing (HPC) environments, low-latency quantum hardware pipelines, and offline zero-egress research, the engine bridges theoretical stabilizer formalisms with hardware-level decoding execution. This archival release includes the formal technical specification, architectural reference manual, cryptographic proof suite, and reproducible Linux/x86_64 verification harness for version 1.0.0. Key Architectural Components Native Compiled Core: High-performance Rust backend exposing zero-copy FFI bindings to Python (CPython 3.9–3.13) via PyO3. Multi-Backend Decoding Library: Includes implementations of Blossom Minimum Weight Perfect Matching (MWPM), FastUnionFind, Belief Propagation with Ordered Statistics Decoding (BP-OSD), Belief-Matching, and an AutoDecoder multi-tier fallback architecture. Hardware Interoperability: Drop-in compatibility with standard QEC formats and frameworks (Stim, PyMatching, Sinter) with Rayon multi-threading and CUDA/OpenCL acceleration hooks. Model Context Protocol (MCP) Integration: Native stdio JSON-RPC tool surfaces supporting automated syndrome decoding, check-matrix validation, and real-time telemetry profiling. Included Proof Artifacts & Verification Bundle This release contains the complete, cryptographic proof suite validating numerical correctness, memory layout, and statistical bounds: certified_proof.json & certified_proof.json.sha256: Tamper-evident execution logs confirming 100% syndrome faithfulness ($H \cdot c = s$) across all evaluation checkpoints. wilson_interval.png / .svg: Exact 95% Wilson score confidence interval statistical sweeps across code distance ranges ($d=3$ through $d=7$). syndrome_faithfulness.png / .svg: High-resolution visual parity validation and check-matrix verification charts. workspace_strides.png / .svg: Cache-line memory alignment and SIMD stride profiling diagnostics. certified_report.pdf & certified_report.md: Formal verification report and reproduction methodology. verify_artifacts.py & test_qector_decoder_v3_proofs_linux.py: Automated Python/Linux validation scripts to independently recompute and verify SHA-256 signatures and artifact integrity. Reproduction & Verification To verify the included artifact bundle locally: Bash python3 verify_artifacts.py python3 test_qector_decoder_v3_proofs_linux.py Licensing & Metadata License: PolyForm Noncommercial / Proprietary Commercial (iD01t Productions) PyPI Distribution: qector-decoder-v3 Keywords: Quantum Error Correction, Surface Codes, Rust, PyO3, Stabilizer Decoders, MWPM, BP-OSD, Union-Find, Fault-Tolerant Quantum Computing, Model Context Protocol (MCP). License terms. The software, scripts, and code in this record (including the Python verification scripts and the inlined pure-Python ground truth) are licensed under the PolyForm Noncommercial License 1.0.0: noncommercial use only. Any commercial use requires a separate commercial license from iD01t Productions. Documentation, reports, and figures in this record are made available under the Creative Commons Attribution 4.0 International License (CC-BY-4.0) with credit to Guillaume Lessard / iD01t Productions. Copyright (c) 2026 Guillaume Lessard / iD01t Productions. All rights reserved except as expressly granted above.

•Aug 21, 2026•0 citations

Approach and separation of quantised vortices with balanced cores

C. Rorai, Jack W. D. Skipper, Robert M. Kerr +1 more

The scaling laws for the reconnection of isolated pairs of quantised vortices are characterised by numerically integrating the three-dimensional Gross–Pitaevskii equations, the simplest mean-field equations for a quantum fluid. The primary result is the identification of distinctly different temporal power laws for the pre- and post-reconnection separation distances $\unicode[STIX]{x1D6FF}(t)$ for two configurations. For the initially anti-parallel case, the scaling laws before and after the reconnection time $t_{r}$ obey the dimensional $\unicode[STIX]{x1D6FF}\sim |t_{r}-t|^{1/2}$ prediction with temporal symmetry about $t_{r}$ and physical space symmetry about the mid-point between the vortices $x_{r}$ . The extensions of the vortex lines close to reconnection form the edges of an equilateral pyramid. For all of the initially orthogonal cases, $\unicode[STIX]{x1D6FF}\sim |t_{r}-t|^{1/3}$ before reconnection and $\unicode[STIX]{x1D6FF}\sim |t-t_{r}|^{2/3}$ after reconnection are respectively slower and faster than the dimensional prediction. For both configurations, smooth scaling laws are generated due to two innovations. The first innovation is to use an initial low-energy vortex-core density profile that suppresses unwanted density fluctuations as the vortices evolve in time. The other innovation is the accurate identification of the position of the vortex cores from a pseudo-vorticity constructed on the three-dimensional grid from the gradients of the wave function. These trajectories allow us to calculate the Frenet–Serret frames and the curvature of the vortex lines, secondary results that might hold clues for the origin of the differences between the scaling laws of the two configurations. Reconnection takes place in a reconnection plane defined by the average tangents $\boldsymbol{T}_{av}$ and curvature normal $\boldsymbol{N}_{av}$ directions of the pseudo-vorticity curves at the points of closest approach, at time $t\approx t_{r}$ . To characterise the structure further, lines are drawn that connect the four arms that extend from the reconnection plane, from which four angles $\unicode[STIX]{x1D703}_{i}$ between the lines are defined. Their sum is convex or hyperbolic, that is $\sum _{i=1,4}\unicode[STIX]{x1D703}_{i}>360^{\circ }$ , for the orthogonal cases, as opposed to the acute angles of the pyramid found for the anti-parallel initial conditions.

Journal of Fluid Mechanics•Nov 4, 2016•34 citations

quTARANG: A python GPE solver to study turbulence in quantum systems

Jha, Shawan Kumar, Sachin Rawat, Mahendra Kumar Verma +1 more

quTARANG is a Python-based general-purpose Gross-Pitaevskii Equation (GPE) solver. It can solve GPE in 1D, 2D and 3D and has the ability to run on both CPU and GPU. It has been developed to study turbulence in quantum systems, specifically in atomic Bose-Einstein condensates, and can be used to study different quantities, such as the varied spectra associated with quantum turbulence.

arXiv:2301.08275•Jan 19, 2023•0 citations

Implementation and Applications of the Stochastic Projected Gross-Pitaevskii Equation

S. J. Rooney

Providing a complete description of dissipative superfluid dynamics is one of the major challenges of many-body quantum field theory. In this thesis we make a fundamental step towards this goal by implementing the stochastic projected Gross-Pitaevskii equation (SPGPE) in complete form for the first time. The SPGPE is a high-temperature theory of Bose-Einstein condensate dynamics, providing a classical-field description of a low-energy subspace in contact with a thermal reservoir. The reservoir interaction terms account for dissipation and noise from thermal interactions, and arise from two distinct processes described as number-damping and energy-damping. This work advances previous applications of the SPGPE theory, which have only included number-damping processes, by implementing the energy-damping processes. We describe the properties of the deterministic and noise terms corresponding to the energy-damping process, and develop a novel algorithm to accurately and efficiently evaluate the energy-damping terms in the SPGPE. We apply the SPGPE to a range of experimentally accessible systems, considering both non-equilibrium and quasi-equilibrium dynamics. We model the experiment of Neely et al. [Phys. Rev. Lett. 111, 235301 (2013)], where stirring of a toroidally trapped Bose-Einstein condensate generates a disordered array of quantum vortices that decay, via thermal dissipation, to form a macroscopic persistent current. We perform numerical simulations of the experiment using the number-damping SPGPE and ab initio determined reservoir parameters. We quantitatively reproduce both the formation time and size of the persistent current, as measured in the experiment. In the first application of the full SPGPE, we consider the non-equilibrium dynamics of a condensate excited into a large-amplitude breathing mode. We find that in such non-equilibrium regimes, the energy-damping dominates over the number-damping process, leading to qualitatively different system dynamics. In particular, energy damping causes the system to rapidly reach thermal equilibrium without greatly depleting the condensate, showing that energy damping provides a highly coherent dissipation mechanism. Finally, we apply the SPGPE to the quasi-equilibrium dynamics of single-vortex decay. Energy-damping processes have previously been neglected for this system. SPGPE simulations show that in fact energy-damping has a dominant effect on the lifetime of a single vortex, with lifetimes less than half those predicted by the number-damping SPGPE. In contrast to the breathing mode decay, we observe little qualitative difference between the energy-damping and number-damping descriptions of vortex decay. Our findings show that while energy-damping processes are important to quantitatively describe quasi-equilibrium dynamics, the system behavior may be described by the number-damping SPGPE with a suitably modified dissipation rate.

•Jan 1, 2015•1 citation

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

Lorenzo Fioroni, Luca Gravina, Justyna Stefaniak +4 more

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.

arXiv:2404.14401•SciPost Physics Codebases•Nov 6, 2024•8 citations

C-Field Methods for Non-Equilibrium Bose Gases

Matthew J. Davis, Tod M. Wright, P. B. Blakie +3 more

We review c-field methods for simulating the non-equilibrium dynamics of degenerate Bose gases beyond the mean-field Gross-Pitaevskii approximation. We describe three separate approaches that utilise similar numerical methods, but have distinct regimes of validity. Systems at finite temperature can be treated with either the closed-system projected Gross-Pitaevskii equation (PGPE), or the open-system stochastic projected Gross-Pitaevskii equation (SPGPE). These are both applicable in quantum degenerate regimes in which thermal fluctuations are significant. At low or zero temperature, the truncated Wigner projected Gross-Pitaevskii equation (TWPGPE) allows for the simulation of systems in which spontaneous collision processes seeded by quantum fluctuations are important. We describe the regimes of validity of each of these methods, and discuss their relationships to one another, and to other simulation techniques for the dynamics of Bose gases. The utility of the SPGPE formalism in modelling non-equilibrium Bose gases is illustrated by its application to the dynamics of spontaneous vortex formation in the growth of a Bose-Einstein condensate.

arXiv:1206.5470•Cold atoms•Mar 18, 2013•2 citations
Classical-field (projected Gross-Pitaevskii) simulations of two-dimensional Bose fluids are usually scripts whose correctness is checked, when at all, by a few conservation laws. We describe qf-pgpe, the quantum-fluids module of the rusty-SUNDIALS numerical library: a pure-Rust integrating-factor RK4 engine for the projected equation on a periodic grid, a vortex instrument (periodic theta-function imprint, sub-grid detection, tracking), the registered estimators of vortex friction and diffusion, a thermal-state toolkit, a vortex-phonon scattering instrument, and a Python extension (pyo3, numpy) with a drop-in stepper. Every module is a port of a Python original of an ongoing pre-registered research programme and carries a numeric cross-check against it: estimators agree to 2e-14 on real vortex tracks, a 31-run scattering matrix to 5e-11, measurements on a shared thermal field to 1e-14; the engine is checked against known answers and against rusty-SUNDIALS' own CVODE (global error falling as dt^4.00). The cross-checks found three defects, one of them in the Python programme: its primary estimator of the mutual friction is biased low by vortex diffusion (-8 to -22 %), a flaw the registered synthetic gate had not shown. On one thread of a 2013 laptop CPU the engine is 4.3, 4.2, 2.7, 2.5 times faster per step than the numpy engine at N = 64, 128, 256, 512 (3.2 to 1.5 times against the fastest Python engine tried, torch on CPU), and the drop-in extension makes an end-to-end thermal-state measurement 5.3 times faster with identical results. No claim is made about GPU codes or other published solvers, which were not measured. Version 2 adds the first reproduction of an external, published solver run (Kwon and Shin, flow past a penetrable obstacle: a different scheme and precision): the initial field is reproduced to 2.8e-8, the force on the obstacle to 2e-4 over 10 time units, and the vortex counts at 9 of 10 times up to t = 50, with the disagreements stated (force differences of 0.19 % of the maximum once the wake forms; one count differs by one). It also reports a JAX/XLA row (checksums equal to 1e-13; faster than the single-threaded Rust step at N >= 256 only because it uses threads; pinned to one core Rust is 1.1-1.8 times faster) and an optional, bit-identical intra-step threading mode of the engine (2.4 times at N = 512, measured on a loaded machine).
QECTOR-Decoder-v3 is a high-throughput, multi-backend quantum error correction (QEC) decoding suite implemented in compiled native Rust with native Python bindings via PyO3. Designed for high-performance computing (HPC) environments, low-latency quantum hardware pipelines, and offline zero-egress research, the engine bridges theoretical stabilizer formalisms with hardware-level decoding execution. This archival release includes the formal technical specification, architectural reference manual, cryptographic proof suite, and reproducible Linux/x86_64 verification harness for version 1.0.0. Key Architectural Components Native Compiled Core: High-performance Rust backend exposing zero-copy FFI bindings to Python (CPython 3.9–3.13) via PyO3. Multi-Backend Decoding Library: Includes implementations of Blossom Minimum Weight Perfect Matching (MWPM), FastUnionFind, Belief Propagation with Ordered Statistics Decoding (BP-OSD), Belief-Matching, and an AutoDecoder multi-tier fallback architecture. Hardware Interoperability: Drop-in compatibility with standard QEC formats and frameworks (Stim, PyMatching, Sinter) with Rayon multi-threading and CUDA/OpenCL acceleration hooks. Model Context Protocol (MCP) Integration: Native stdio JSON-RPC tool surfaces supporting automated syndrome decoding, check-matrix validation, and real-time telemetry profiling. Included Proof Artifacts & Verification Bundle This release contains the complete, cryptographic proof suite validating numerical correctness, memory layout, and statistical bounds: certified_proof.json & certified_proof.json.sha256: Tamper-evident execution logs confirming 100% syndrome faithfulness (H⋅c=sH \cdot c = sH⋅c=s) across all evaluation checkpoints. wilson_interval.png / .svg: Exact 95% Wilson score confidence interval statistical sweeps across code distance ranges (d=3d=3d=3 through d=7d=7d=7). syndrome_faithfulness.png / .svg: High-resolution visual parity validation and check-matrix verification charts. workspace_strides.png / .svg: Cache-line memory alignment and SIMD stride profiling diagnostics. certified_report.pdf & certified_report.md: Formal verification report and reproduction methodology. verify_artifacts.py & test_qector_decoder_v3_proofs_linux.py: Automated Python/Linux validation scripts to independently recompute and verify SHA-256 signatures and artifact integrity. Reproduction & Verification To verify the included artifact bundle locally: Bash python3 verify_artifacts.py python3 test_qector_decoder_v3_proofs_linux.py Licensing & Metadata License: PolyForm Noncommercial / Proprietary Commercial (iD01t Productions) PyPI Distribution: qector-decoder-v3 Keywords: Quantum Error Correction, Surface Codes, Rust, PyO3, Stabilizer Decoders, MWPM, BP-OSD, Union-Find, Fault-Tolerant Quantum Computing, Model Context Protocol (MCP). License terms. The software, scripts, and code in this record (including the Python verification scripts and the inlined pure-Python ground truth) are licensed under the PolyForm Noncommercial License 1.0.0: noncommercial use only. Any commercial use requires a separate commercial license from iD01t Productions. Documentation, reports, and figures in this record are made available under the Creative Commons Attribution 4.0 International License (CC-BY-4.0) with credit to Guillaume Lessard / iD01t Productions. Copyright (c) 2026 Guillaume Lessard / iD01t Productions. All rights reserved except as expressly granted above.
The scaling laws for the reconnection of isolated pairs of quantised vortices are characterised by numerically integrating the three-dimensional Gross–Pitaevskii equations, the simplest mean-field equations for a quantum fluid. The primary result is the identification of distinctly different temporal power laws for the pre- and post-reconnection separation distances $\unicode[STIX]{x1D6FF}(t)$ for two configurations. For the initially anti-parallel case, the scaling laws before and after the reconnection time trt_{r}tr​ obey the dimensional $\unicode[STIX]{x1D6FF}\sim |t_{r}-t|^{1/2}$ prediction with temporal symmetry about trt_{r}tr​ and physical space symmetry about the mid-point between the vortices xrx_{r}xr​ . The extensions of the vortex lines close to reconnection form the edges of an equilateral pyramid. For all of the initially orthogonal cases, $\unicode[STIX]{x1D6FF}\sim |t_{r}-t|^{1/3}$ before reconnection and $\unicode[STIX]{x1D6FF}\sim |t-t_{r}|^{2/3}$ after reconnection are respectively slower and faster than the dimensional prediction. For both configurations, smooth scaling laws are generated due to two innovations. The first innovation is to use an initial low-energy vortex-core density profile that suppresses unwanted density fluctuations as the vortices evolve in time. The other innovation is the accurate identification of the position of the vortex cores from a pseudo-vorticity constructed on the three-dimensional grid from the gradients of the wave function. These trajectories allow us to calculate the Frenet–Serret frames and the curvature of the vortex lines, secondary results that might hold clues for the origin of the differences between the scaling laws of the two configurations. Reconnection takes place in a reconnection plane defined by the average tangents Tav\boldsymbol{T}_{av}Tav​ and curvature normal Nav\boldsymbol{N}_{av}Nav​ directions of the pseudo-vorticity curves at the points of closest approach, at time t≈trt\approx t_{r}t≈tr​ . To characterise the structure further, lines are drawn that connect the four arms that extend from the reconnection plane, from which four angles $\unicode[STIX]{x1D703}_{i}$ between the lines are defined. Their sum is convex or hyperbolic, that is $\sum _{i=1,4}\unicode[STIX]{x1D703}_{i}>360^{\circ }$ , for the orthogonal cases, as opposed to the acute angles of the pyramid found for the anti-parallel initial conditions.
Providing a complete description of dissipative superfluid dynamics is one of the major challenges of many-body quantum field theory. In this thesis we make a fundamental step towards this goal by implementing the stochastic projected Gross-Pitaevskii equation (SPGPE) in complete form for the first time. The SPGPE is a high-temperature theory of Bose-Einstein condensate dynamics, providing a classical-field description of a low-energy subspace in contact with a thermal reservoir. The reservoir interaction terms account for dissipation and noise from thermal interactions, and arise from two distinct processes described as number-damping and energy-damping. This work advances previous applications of the SPGPE theory, which have only included number-damping processes, by implementing the energy-damping processes. We describe the properties of the deterministic and noise terms corresponding to the energy-damping process, and develop a novel algorithm to accurately and efficiently evaluate the energy-damping terms in the SPGPE. We apply the SPGPE to a range of experimentally accessible systems, considering both non-equilibrium and quasi-equilibrium dynamics. We model the experiment of Neely et al. [Phys. Rev. Lett. 111, 235301 (2013)], where stirring of a toroidally trapped Bose-Einstein condensate generates a disordered array of quantum vortices that decay, via thermal dissipation, to form a macroscopic persistent current. We perform numerical simulations of the experiment using the number-damping SPGPE and ab initio determined reservoir parameters. We quantitatively reproduce both the formation time and size of the persistent current, as measured in the experiment. In the first application of the full SPGPE, we consider the non-equilibrium dynamics of a condensate excited into a large-amplitude breathing mode. We find that in such non-equilibrium regimes, the energy-damping dominates over the number-damping process, leading to qualitatively different system dynamics. In particular, energy damping causes the system to rapidly reach thermal equilibrium without greatly depleting the condensate, showing that energy damping provides a highly coherent dissipation mechanism. Finally, we apply the SPGPE to the quasi-equilibrium dynamics of single-vortex decay. Energy-damping processes have previously been neglected for this system. SPGPE simulations show that in fact energy-damping has a dominant effect on the lifetime of a single vortex, with lifetimes less than half those predicted by the number-damping SPGPE. In contrast to the breathing mode decay, we observe little qualitative difference between the energy-damping and number-damping descriptions of vortex decay. Our findings show that while energy-damping processes are important to quantitatively describe quasi-equilibrium dynamics, the system behavior may be described by the number-damping SPGPE with a suitably modified dissipation rate.
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.
We review c-field methods for simulating the non-equilibrium dynamics of degenerate Bose gases beyond the mean-field Gross-Pitaevskii approximation. We describe three separate approaches that utilise similar numerical methods, but have distinct regimes of validity. Systems at finite temperature can be treated with either the closed-system projected Gross-Pitaevskii equation (PGPE), or the open-system stochastic projected Gross-Pitaevskii equation (SPGPE). These are both applicable in quantum degenerate regimes in which thermal fluctuations are significant. At low or zero temperature, the truncated Wigner projected Gross-Pitaevskii equation (TWPGPE) allows for the simulation of systems in which spontaneous collision processes seeded by quantum fluctuations are important. We describe the regimes of validity of each of these methods, and discuss their relationships to one another, and to other simulation techniques for the dynamics of Bose gases. The utility of the SPGPE formalism in modelling non-equilibrium Bose gases is illustrated by its application to the dynamics of spontaneous vortex formation in the growth of a Bose-Einstein condensate.