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 tutorial to see examples of how to use qsymm
.
Implemented algorithms
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 usesympy
for symbolic manipulation, but our implementation utilizesnumpy
arrays for efficient calculations with matrix valued functions. -
PointGroupElement
andContinuousGroupGenerator
are used to store symmetry operators. Besides the ability to combine symmetries, they can also be applied to aModel
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 aModel
as input and finds all of its symmetries, including conserved quantities, time reversal, particle-hole, and spatial rotation symmetries. See the symmetry finder tutorial and the kekule tutorial for detailed examples. -
continuum_hamiltonian
andbloch_family
are used to generate k.p or lattice Hamiltonians from symmetry constraints. See the k-dot-p generator tutorial, the Bloch generator tutorial and the kekule tutorial 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.
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file qsymm-1.2.5.tar.gz
.
File metadata
- Download URL: qsymm-1.2.5.tar.gz
- Upload date:
- Size: 75.3 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.6.0.post20191101 requests-toolbelt/0.8.0 tqdm/4.37.0 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e804e054130342a1eb9fe2474cec70ecb968225a55d066d4a337557aa44bd932 |
|
MD5 | fb1c574c8880b2b7d10683dec6712cdf |
|
BLAKE2b-256 | eadd3a54c3dad6cec6681baa4f2541558c2f5b052fe3a2073e56fbbd5a20dd2b |
File details
Details for the file qsymm-1.2.5-py3-none-any.whl
.
File metadata
- Download URL: qsymm-1.2.5-py3-none-any.whl
- Upload date:
- Size: 80.6 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.6.0.post20191101 requests-toolbelt/0.8.0 tqdm/4.37.0 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68321c62a7c9e30e52a80b37007a8b7edf05214f3dd3fbef16a11ab5d67fb6e2 |
|
MD5 | 9b386a065640a9acbf08f2db13b267f7 |
|
BLAKE2b-256 | b030ddf0082ab9b9b1829880711dff3772ff58fce1e08840ee88d6f53c77bbab |