Survival LLM
A free AI assistant and survival library (1.5 million offline articles) that runs on your own computer, with no internet. Shows the source of every answer. Mac and Windows.
翻译准备中
正在加载完整 README。 以下为已保存的摘录。
Spgrep is a Python package of on-the-fly generator of space-group irreducible representations.
• 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)查看完整 README ↗Spgrep is a Python package of on-the-fly generator of space-group irreducible representations.
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.
Spgrep works with Python3.10+ and can be installed via PyPI:
pip install spgrep
or in local:
git clone [email protected]:spglib/spgrep.git
cd spgrep
pip install -e .
See the change log for recent changes.
If you use spgrep in your research, please consider citing the following work:
@article{spgrep,
doi = {10.21105/joss.05269},
url = {https://doi.org/10.21105/joss.05269},
year = {2023},
publisher = {The Open Journal},
volume = {8},
number = {85},
pages = {5269},
author = {Shinohara, Kohei and Togo, Atsushi and Tanaka, Isao},
title = {spgrep: On-the-fly generator of space-group irreducible representations},
journal = {J. Open Source Softw.}
}
We welcome any contributions to improve functionalities. Please open issues or create pull requests. See the development page for preparing an environment.
Spgrep is released under a BSD 3-clause license.