/qsymm

A mirror of https://gitlab.kwant-project.org/qt/qsymm

Primary LanguagePythonBSD 2-Clause "Simplified" LicenseBSD-2-Clause

Qsymm

Install with pip install wtih conda pipeline status coverage report docs status

Symmetry finder and symmetric Hamiltonian generator

qsymm is an open-source Python library that makes symmetry analysis simple.

It automatically generates model Hamiltonians from symmetry constraints and finds the full symmetry group of your Hamiltonian.

Check out the introductory tutorial to see examples of how to use qsymm.

Implemented algorithms

summary of methods

The two core concepts in qsymm are Hamiltonian families (Hamiltonians that may depend on free parameters) and symmetries. We provide powerful classes to handle these:

  • Model is used to store symbolic Hamiltonians that may depend on momenta and other free parameters. We use sympy for symbolic manipulation, but our implementation utilizes numpy arrays for efficient calculations with matrix valued functions.

  • PointGroupElement and ContinuousGroupGenerator are used to store symmetry operators. Besides the ability to combine symmetries, they can also be applied to a Model to transform it.

We implement algorithms that form a two-way connection between Hamiltonian families and symmetries.

Installation

qsymm works with Python 3.5 and is available on PyPI:

pip install qsymm

Some of the example notebooks also require Kwant.

Documentation

Qsymm's documentation is hosted on Read the Docs

Citing

Check out CITING.md for instructions on how to cite Qsymm in your publications.

Development

qsymm is on Gitlab, visit there if you would like to to contribute, report issues, or get the latest development version.