SciPost Submission Page
Pymablock: an algorithm and a package for quasi-degenerate perturbation theory
by Isidora Araya Day, Sebastian Miles, Hugo K. Kerstens, Daniel Varjas, Anton R. Akhmerov
Submission summary
Authors (as registered SciPost users): | Anton Akhmerov · Isidora Araya Day · Hugo Kerstens · Sebastian Miles |
Submission information | |
---|---|
Preprint Link: | https://arxiv.org/abs/2404.03728v2 (pdf) |
Code repository: | https://zenodo.org/records/14188554 |
Code version: | 2.1.0 |
Code license: | BSD 2-Clause "Simplified" License |
Date accepted: | 2025-01-21 |
Date submitted: | 2024-12-03 11:33 |
Submitted by: | Araya Day, Isidora |
Submitted to: | SciPost Physics Codebases |
Ontological classification | |
---|---|
Academic field: | Physics |
Specialties: |
|
Approaches: | Theoretical, Computational |
Abstract
A common technique in the study of complex quantum-mechanical systems is to reduce the number of degrees of freedom in the Hamiltonian by using quasi-degenerate perturbation theory. While the Schrieffer--Wolff transformation achieves this and constructs an effective Hamiltonian, its scaling is suboptimal, it is limited to two subspaces, and implementing it efficiently is both challenging and error-prone. We introduce an algorithm for constructing an equivalent effective Hamiltonian as well as a Python package, Pymablock, that implements it. Our algorithm combines an optimal asymptotic scaling and the ability to handle any number of subspaces with a range of other improvements. The package supports numerical and analytical calculations of any order and it is designed to be interoperable with any other packages for specifying the Hamiltonian. We demonstrate how the package handles constructing a k.p model, analyses a superconducting qubit, and computes the low-energy spectrum of a large tight-binding model. We also compare its performance with reference calculations and demonstrate its efficiency.
Author comments upon resubmission
We also took seriously the referee's observation that Pymablock deals with only two subspaces and the limited support for second quantized Hamiltonians.
In the updated version 2.1 of the package we have developed and implemented multi-block perturbation theory, an approach we now demonstrate in the CQED example and new online tutorials.
Our derivation of the algorithm now also fully relies on the operator formalism, and therefore directly applies to a broad class of problems.
As requested by the referee, we have included the application of CUT methods to perturbation theory in Sec. 3.2.
List of changes
Below we list the significant changes in the manuscript, and separately we provide a redlined pdf.
- Generalized Pymablock to multiblock and selective diagonalization. Included this in 2.2, 2.4, and 3.1
- Included a description and review of the Continuous Unitary Transformation approach (CUT) in 1 and 3.2
- Described new code generation feature of the package to support the implementation of different algorithms in 4.3
The redlined pdf with the differences can be found in https://surfdrive.surf.nl/files/index.php/s/rzI7bNljOLdDHN3
Current status:
Editorial decision:
For Journal SciPost Physics Codebases: Publish
(status: Editorial decision fixed and (if required) accepted by authors)
Reports on this Submission
Report
I read through the second version of the paper and the authors addressed all my points. They even implemented a version with multi-block perturbation theory and a formulation in the operator formalism, something I appreciate very much, since it is a common approach one encounters in many-body systems.
I therefore recommend publication without any further delay.
Recommendation
Publish (easily meets expectations and criteria for this Journal; among top 50%)