TL;DR
libcommute is a C++ library with Python bindings that simplifies manipulation of polynomial operators in quantum many-body theory and provides tools for exact diagonalization, emphasizing expressiveness, extensibility, and performance.
Contribution
It introduces a domain-specific language and toolkit for quantum operator algebra and exact diagonalization, with a focus on usability and performance.
Findings
Provides a flexible, expressive library for quantum operator manipulation
Includes Python bindings for rapid prototyping and small-scale problems
Well-documented with unit tests for reliability
Abstract
I present libcommute, a C++11/14/17 template library that implements a domain-specific language for easy manipulating of polynomial operators used in the quantum many-body theory, as well as a software development toolkit for exact diagonalization codes. The library is written with expressiveness, extensibility and performance in mind. It features simple syntax for commonly used abstractions and algorithms, is well documented and covered by unit tests. libcommute is supplemented with Python 3 bindings called pycommute. They are useful for solving small scale diagonalization problems, rapid prototyping and wrapping of high performance libcommute-based computational cores in Python.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
