pymablock

Package for quasi-degenerate perturbation theory (mirror)

https://github.com/quantum-tinkerer/pymablock

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (6.8%) to scientific vocabulary

Keywords

effective-model perturbation-theory quantum
Last synced: 6 months ago · JSON representation

Repository

Package for quasi-degenerate perturbation theory (mirror)

Basic Info
Statistics
  • Stars: 9
  • Watchers: 5
  • Forks: 2
  • Open Issues: 0
  • Releases: 0
Topics
effective-model perturbation-theory quantum
Created almost 3 years ago · Last pushed 7 months ago
Metadata Files
Readme Changelog Contributing License Citation Authors

README.md

Pymablock: quasi-degenerate perturbation theory in Python

Pymablock (Python matrix block-diagonalization) is a Python package that constructs effective models using quasi-degenerate perturbation theory. It handles both numerical and symbolic inputs, and it efficiently block-diagonalizes Hamiltonians with multivariate perturbations to arbitrary order.

Building an effective model using Pymablock is a three step process:

  • Define a Hamiltonian
  • Call pymablock.block_diagonalize
  • Request the desired order of the effective Hamiltonian

```python from pymablock import block_diagonalize

Define perturbation theory

Htilde, * = blockdiagonalize([h0, hp], subspaceeigenvectors=[vecsA, vecsB])

Request correction to the effective Hamiltonian

HAA4 = H_tilde[0, 0, 4] ```

Here is why you should use Pymablock:

  • Do not reinvent the wheel

Pymablock provides a tested reference implementation

  • Apply to any problem

Pymablock supports numpy arrays, scipy sparse arrays, sympy matrices and quantum operators

  • Speed up your code

Due to several optimizations, Pymablock can reliably handle both higher orders and large Hamiltonians

For more details see the Pymablock documentation.

Owner

  • Name: quantum-tinkerer
  • Login: quantum-tinkerer
  • Kind: organization

GitHub Events

Total
  • Watch event: 2
  • Delete event: 30
  • Push event: 328
  • Create event: 30
Last Year
  • Watch event: 2
  • Delete event: 30
  • Push event: 328
  • Create event: 30

Dependencies

pyproject.toml pypi
  • numpy >=1.23
  • packaging >=22.0
  • scipy >=1.8
  • sympy >=1.10
docs/environment.yml conda
  • kwant
  • matplotlib-base
  • myst-nb
  • numpy
  • pip
  • python 3.11.*
  • scipy
  • sphinx-copybutton
  • sphinx-togglebutton
  • sympy