All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog 1.1.0, and this project adheres to Semantic Versioning.
- Physically irreducible representations (
real=True) are now defined on the little group of$\pm\mathbf{k}$ instead of only the little group of$\mathbf{k}$ , followingdocs/formulation/irreps/reality.md. This fixes the output carrier for$2\mathbf{k} \not\equiv \mathbf{0}$ k-points. A new helperget_little_group_of_pm_kis available inspgrep.symmetry.group.
- Co-representation extension formula for
a_0 uin all three Frobenius-Schur cases (_enumerate_small_corepresentations_with_factor_systeminspgrep.corep): the right operand is now complex-conjugated as required by the co-representation multiplication law. The previous output violated the law whenever the source irrep of the unitary subgroup had non-real matrices.enumerate_spinor_small_corepresentationsinherits the fix since it delegates to the same helper.
- The following modules are separated into subpackages:
spgrep.group,spgrep.representation,spgrep.pointgroup,spgrep.irreps,spgrep.tensor, andspgrep.transform. - Port
enumerate_point_subgroupfrom spgrep-modulation - Require
spglib>=2.7as dependency
- Drop Python 3.9 support
- Further fix bug in physically irreducible representation
- Fix bug in physically irreducible representation
- Drop support for Python 3.8
- Make compatible with NumPy 2.0.0
- Improve comparison between linear subspaces [#53]
- Use Grassmann distance to measure linear subspaces: {func}
spgrep.utils.grassmann_distance - Drop
spgrep.utils.contain_space
- Use Grassmann distance to measure linear subspaces: {func}
- Clean documents and add JOSS draft [#50]
- Add co-representation [#47]
- New functions to compute co-representations for spinor
- {func}
spgrep.get_spacegroup_spinor_irreps - {func}
spgrep.get_spacegroup_spinor_irreps_from_primitive_symmetry - {func}
spgrep.get_crystallographic_pointgroup_spinor_irreps_from_symmetry
- {func}
- Require a newer spglib as dependency:
spglib>=2.0.2
- New functions to compute co-representations for spinor
- Add spinor representation [#41]
- Generate symmetric tensor by Erdös method {func}
spgrep.tensors.get_symmetry_adapted_tensorsand {func}spgrep.tensors.apply_intrinsic_symmetry - Fix induced representation
- Add physically irreducible representation of space group
- Newly return Frobenius-Schur indicator from
enumerate_small_representationsandenumerate_unitary_irreps
- Add example notebooks
Initial release to PyPI
- Calculate irreducible representations (irreps) of space groups: {func}
spgrep.get_spacegroup_irrepsand {func}spgrep.get_spacegroup_irreps_from_primitive_symmetry - Calculate irreps of crystallographic point groups: {func}
spgrep.get_crystallographic_pointgroup_irreps_from_symmetry - Calculate physically irreducible representations (irreps over real numbers)
- Apply projection operator: {func}
spgrep.representation.project_to_irrep - Unique decomposition of crystallographic point group: {func}
spgrep.pointgroup.get_pointgroup_chain_generators