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 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