Skip to main content

On-the-fly generator of space-group irreducible representations

Project description

Spgrep

testing pre-commit.ci status codecov License PyPI - Python Version PyPI version PyPI Downloads Lines of code

Spgrep is a Python package of on-the-fly generator of space-group irreducible representations.

Features

  • Enumerate the following irreducible representations (irreps) of space groups from spglib’s cell and kpoints:
    • Linear irreps
    • Physically irreps (irreps over real numbers)
    • Projective irreps for spnior
    • Projective irreducible co-representations for spinor
  • Enumerate irreps of crystallographic point groups as well
  • Find symmetry-adapted basis forming given irreps
  • Minimal dependencies (numpy and spglib)

Usage

from spgrep import get_spacegroup_irreps
from spgrep.representation import get_character

# Rutile structure (https://materialsproject.org/materials/mp-2657/)
# P4_2/mnm (No. 136)
a = 4.603
c = 2.969
x_4f = 0.3046
lattice = [
    [a, 0, 0],
    [0, a, 0],
    [0, 0, c],
]
positions = [
    [0, 0, 0],  # Ti(2a)
    [0.5, 0.5, 0.5],  # Ti(2a)
    [x_4f, x_4f, 0],  # O(4f)
    [-x_4f, -x_4f, 0],  # O(4f)
    [-x_4f + 0.5, x_4f + 0.5, 0.5],  # O(4f)
    [x_4f + 0.5, -x_4f + 0.5, 0.5],  # O(4f)
]
numbers = [0, 0, 1, 1, 1, 1]

kpoint = [0.5, 0, 0]  # X point
irreps, rotations, translations, mapping_little_group = get_spacegroup_irreps(
    lattice, positions, numbers, kpoint
)

# Symmetry operations by spglib
assert len(rotations) == 16
assert len(translations) == 16

# At X point, the little co-group is isomorphic to mmm (order=8)
assert len(mapping_little_group) == 8
print(mapping_little_group)  # [ 0,  1,  4,  5,  8,  9, 12, 13]

# Two two-dimensional irreps
for irrep in irreps:
    print(get_character(irrep))
# [2.+0.j 0.+0.j 0.+0.j 2.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j]
# [2.+0.j 0.+0.j 0.+0.j -2.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j]

See example pages for more detailed use cases and API summary for summary of functionalities.

Installation

Spgrep works with Python3.8+ and can be installed via PyPI:

pip install spgrep

or in local:

conda create -n spgrep python=3.10 pip
conda activate spgrep
git clone git@github.com:spglib/spgrep.git
cd spgrep
pip install -e .

Change log

See the change log for recent changes.

How to contribute

We welcome any contributions to improve functionalities. Please open issues or create pull requests. See the development page for preparing an environment.

License

Spgrep is released under a BSD 3-clause license.

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

spgrep-0.3.4.tar.gz (104.5 kB view details)

Uploaded Source

Built Distribution

spgrep-0.3.4-py3-none-any.whl (35.9 kB view details)

Uploaded Python 3

File details

Details for the file spgrep-0.3.4.tar.gz.

File metadata

  • Download URL: spgrep-0.3.4.tar.gz
  • Upload date:
  • Size: 104.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for spgrep-0.3.4.tar.gz
Algorithm Hash digest
SHA256 8b621227704c85081681b58eee18a23ce2e66291d1f91489d8db6cd903a436b7
MD5 1db9110975c8bfae0539aa278af55e2c
BLAKE2b-256 5cdc03d8f718f5fbfa24ad591bfede64c7a2df64f0a8ca426162949f8b3aad3c

See more details on using hashes here.

File details

Details for the file spgrep-0.3.4-py3-none-any.whl.

File metadata

  • Download URL: spgrep-0.3.4-py3-none-any.whl
  • Upload date:
  • Size: 35.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for spgrep-0.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 2a34895b2b89de769ced5a54bab49de3afaf856a73513ed6d934009923b32352
MD5 f401709b7d89e89e9d2949716353742b
BLAKE2b-256 4943c46dc5140f33df90c8aad7a44a4a09c63d3ee8e54fe2c54228567b9971a2

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