Info: Zenodo’s user support line is staffed on regular business days between Dec 23 and Jan 5. Response times may be slightly longer than normal.

Published November 19, 2024 | Version 2.1.0
Software Open

Pymablock

  • 1. ROR icon Delft University of Technology
  • 2. Max Planck Dresden, PKS

Description

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

 

from pymablock import block_diagonalize

# Define perturbation theory
H_tilde, *_ = block_diagonalize([h_0, h_p], subspace_eigenvectors=[vecs_A, vecs_B])

# Request correction to the effective Hamiltonian
H_AA_4 = 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.

Files

pymablock-v2.1.0.zip

Files (220.8 kB)

Name Size Download all
md5:69a6ae05fff4b4ba808d797681ca46b3
220.8 kB Preview Download

Additional details

Software

Programming language
Python