dynamite: fast full quantum dynamics

Welcome to dynamite, which provides a simple interface to fast evolution of quantum dynamics and eigensolving. Behind the scenes, dynamite uses the PETSc/SLEPc implementations of Krylov subspace exponentiation and eigensolving.

For illustrative examples, check out dynamite on GitHub!

The techniques implemented by dynamite fill a niche for numerical quantum simulation. DMRG methods are very fast but their speed depends on entanglement, preventing evolution past moderate time scales for systems that become highly entangled. Exact diagonalization allows for evolution to arbitrarily long times, but is quite limited in Hilbert space size. dynamite is best at evolving for moderate time scales (perhaps \(\sim 10^4 * 1/|J|\)) on moderate size Hilbert spaces (up to \(\sim 30\) spins or so).

Note

dynamite is in beta! You may find bugs. When you do, please submit them on the GitHub Issues page! Additionally, you may want to check you are getting correct answers by comparing a small system to output from a different method.

Features

  • Easy building of spin chain Hamiltonians through Python
  • Performance-critical code written in C, giving speed comparable to pure C implementation
  • Underlying PETSc/SLEPc libraries supply fast algorithms for matrix exponentiation and eigensolving
  • Options such as shell matrices provide customizability and access to extremely large Hilbert spaces

This package was created by Greg Meyer in Prof. Norman Yao’s lab at UC Berkeley.