An efficient preconditioned conjugate-gradient solver for a two-component dipolar Bose-Einstein condensate
Weijing Bao, Zhenhao Wang, Jia-Rui Luo, and Kui-Tian Xi

TL;DR
This paper introduces a highly efficient preconditioned conjugate-gradient method for computing ground states of binary dipolar Bose-Einstein condensates, significantly improving convergence speed and robustness over traditional methods.
Contribution
The authors develop a novel preconditioned nonlinear conjugate-gradient solver that enforces energy descent and demonstrates superior performance in simulating dipolar BECs across various regimes.
Findings
Reduces iteration counts by 10-100 times compared to imaginary-time evolution.
Achieves robust convergence in droplet, stripe, and supersolid phases.
Attains slightly lower energies, indicating better metastability handling.
Abstract
We develop a preconditioned nonlinear conjugate-gradient solver for ground states of binary dipolar Bose-Einstein condensates within the extended Gross-Pitaevskii equation including Lee-Huang-Yang corrections. The optimization is carried out on the product-of-spheres normalization manifold and combines a manifold-preserving analytic line search, derived from a second-order energy expansion and validated along the exact normalized path, with complementary Fourier-space kinetic and real-space diagonal (Hessian-inspired) preconditioners. The method enforces monotonic energy descent and exhibits robust convergence across droplet, stripe, and supersolid regimes while retaining spectrally accurate discretizations and FFT-based evaluation of the dipolar term. In head-to-head benchmarks against imaginary-time evolution on matched grids and tolerances, the solver reduces iteration counts by one…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
