There is a newer version of the record available.

Published June 5, 2023 | Version 1.0.0
Software Open

Pymablock

  • 1. TU Delft
  • 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-v1.0.0.zip

Files (74.1 kB)

Name Size Download all
md5:32d7313fbd39e1be30a2a398a443aca6
74.1 kB Preview Download