Integrate qsymm into kwant
Adds functionality by @dvarjas and me that allow qsymm to interface with Kwant systems, and vice versa. These functions make it possible to convert Kwant builders to qsymm Model objects and back, facilitating symmetry analysis of Kwant systems.
This MR depends on qsymm features that are not included in v1.0. Before merging, we thus need to release an updated version of qsymm.
closes #256 (closed)
Merge request reports
Activity
- Resolved by Joseph Weston
Is it correct that there is no functionality for specifying a discrete symmetry as calculated by
qsymm
to a builder?If this is indeed not there, we should probably add it.
something like
qsymm_symmetries = analyse(syst) update_symmetries(syst, qsymm_symmetries) # Only provides the symmetries known by Kwant
- Resolved by Joseph Weston
We need to decide on the naming and namespace.
Several constraints come to mind:
- qsymm depends on sympy, so it must be lazily loaded, or not imported by default
- there is already
kwant.physics.symmetry
that has some related functionality
- Resolved by Joseph Weston
Packaging and testing infrastructure are missing right now. @jbweston please take a look whenever you have time.
- Resolved by Tómas
mentioned in merge request !260 (merged)
- Resolved by Tómas
- Resolved by Joseph Weston
A final issue is style. Running
pylint
,pep8
andflakes8
on the source reveals things such as unused imports etc.Maybe the best course of action is to fix up these things and squash them down into the original commit, given that there is only 1 functional commit in this MR (before all my packaging stuff)
- Resolved by Tómas
- Resolved by Tómas
- Resolved by Tómas
- Resolved by Tómas
- Resolved by Tómas
- Resolved by Tómas