Skip to main content

Symmetry finder and symmetric Hamiltonian generator

Project description

Qsymm

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 example notebook 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.

  • Symmetry finding is handled by symmetries, it takes a Model as input and finds all of its symmetries, including conserved quantities, time reversal, particle-hole, and spatial rotation symmetries. See symmetry_finder.ipynb and kekule.ipynb for detailed examples.

  • continuum_hamiltonian and bloch_family are used to generate k.p or lattice Hamiltonians from symmetry constraints. See kdotp_generator.ipynb, bloch_generator.ipynb and kekule.ipynb for detailed examples.

Installation

qsymm works with Python 3.5 and is available on PyPI:

pip install qsymm

Some of the example notebooks also require Kwant.

Development

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qsymm-1.2.4.tar.gz (74.5 kB view details)

Uploaded Source

Built Distribution

qsymm-1.2.4-py3-none-any.whl (79.9 kB view details)

Uploaded Python 3

File details

Details for the file qsymm-1.2.4.tar.gz.

File metadata

  • Download URL: qsymm-1.2.4.tar.gz
  • Upload date:
  • Size: 74.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for qsymm-1.2.4.tar.gz
Algorithm Hash digest
SHA256 8c12d0fca9a45d79d23d4061c29f90aac4e25b66612a5ac56add07e512a2833a
MD5 3b5f40ad517c86202ed5787fd7f86f90
BLAKE2b-256 5eb2c312073c58348ead6bf22fa0f81a0e2c49a9080b10c874b3762db2f4187a

See more details on using hashes here.

File details

Details for the file qsymm-1.2.4-py3-none-any.whl.

File metadata

  • Download URL: qsymm-1.2.4-py3-none-any.whl
  • Upload date:
  • Size: 79.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for qsymm-1.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8e338f5a622ab1ab70c097439870845d980955a21ea3c6d7e1c03e604347ca41
MD5 94686590c5d84ebc713655eab2e72e0b
BLAKE2b-256 6bc5fb137412bca4ccbfc2bb06c90887da6b9729ea2814a614ec77d0d0bfd6fe

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page