Skip to content

Release v0.5

Compare
Choose a tag to compare
@krivenko krivenko released this 05 Oct 09:13
· 176 commits to master since this release

This is the first feature-complete, fully documented release.

libcommute is a C++11/14/17 template library without external dependencies. It is made of two major parts.

  • A Domain-Specific Language (DSL) designed to easily construct and manipulate polynomial expressions with quantum-mechanical operators, especially those used in the theory of many interacting fermions, bosons and spins. The goal here is to make expressions written in C++ code closely resemble the standard mathematical notation.

  • A fast representation of the quantum-mechanical operators that enables their action on finite-dimensional state vectors. This feature provides a basis for writing highly performant Exact Diagonalization (ED) codes without loss of flexibility.

libcommute is designed with extensibility in mind and can be easily adapted to work with new operator algebras, numeric types and matrix/vector algebra libraries (Eigen, Armadillo, etc).

Learn more about libcommute's capabilities at https://krivenko.github.io/libcommute/.