SciPost logo

Pymablock: An algorithm and a package for quasi-degenerate perturbation theory

Isidora Araya Day, Sebastian Miles, Hugo K. Kerstens, Daniel Varjas, Anton R. Akhmerov

SciPost Phys. Codebases 50 (2025) · published 12 February 2025

This Publication is part of a bundle

When citing, cite all relevant items (e.g. for a Codebase, cite both the article and the release you used).

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.

Cited by 4

Crossref Cited-by

Authors / Affiliations: mappings to Contributors and Organizations

See all Organizations.
Funders for the research work leading to this publication