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): | Isidora Araya Day |
Submission information | |
---|---|
Preprint Link: | https://arxiv.org/abs/2404.03728v1 (pdf) |
Code repository: | https://gitlab.kwant-project.org/qt/pymablock |
Data repository: | https://zenodo.org/records/10629243 |
Date submitted: | 2024-06-12 10:56 |
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, 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 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.