2. If we also consider the space group representation corresponding to these two structures, Bilbao Crystallographic Server IDENTIFY GROUP shows that they are the same, in this case:
Additional remarks:
1. Below is the Python code snippet using pymatgen to obtain the space group representation corresponding to a given POSCAR:
Code: Select all
from pymatgen.core import Structure
from pymatgen.symmetry.analyzer import SpacegroupAnalyzer
import numpy as np
from fractions import Fraction
def to_fraction_matrix(matrix):
# Function to convert a matrix into its fractional form
fraction_matrix = np.vectorize(lambda x: str(Fraction(x).limit_denominator()))(matrix)
return fraction_matrix
# Create a Structure instance using the provided POSCAR data
structure = Structure.from_file("./POSCAR_vaspkit")
# Analyze the structure using SpacegroupAnalyzer
analyzer = SpacegroupAnalyzer(structure)
# Get the symmetry operations (rotation and translation operations) of the space group
symmetry_operations = analyzer.get_symmetry_operations()
affine_matrices_in_fractions = [] # List to store all affine matrices in fractional form
for op in symmetry_operations:
rot = op.rotation_matrix # Rotation matrix
trans = op.translation_vector # Translation vector
# Create a 4x4 identity matrix to construct the affine matrix
affine_matrix = np.eye(4)
affine_matrix[:3, :3] = rot # Fill the top-left 3x3 part with the rotation matrix
affine_matrix[:3, 3] = trans # Fill the top three rows of the rightmost column with the translation vector
# Convert the affine matrix to fractional form and add it to the list
affine_matrices_in_fractions.append(to_fraction_matrix(affine_matrix))
# Convert each affine matrix in the list to the desired format
formatted_affine_matrices = []
for matrix in affine_matrices_in_fractions:
formatted_matrix = [list(row) for row in matrix]
formatted_affine_matrices.append(formatted_matrix)
# Print or return the list of all affine matrices in fractional form
print(formatted_affine_matrices)
The above script will give the generators of the corresponding space group, in this case, they are the coset representatives with respect to the (maximum) translation group shown below:
Code: Select all
POSCAR_ms:=[[[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]], [[0, -1, 0, 1/4], [0, 0, -1, 1/4], [1, 1, 1, 1/4], [0, 0, 0, 1]], [[0, 0, 1, 0], [-1, -1, -1, 0], [1, 0, 0, 0], [0, 0, 0, 1]], [[1, 1, 1, 1/4], [-1, 0, 0, 1/4], [0, -1, 0, 1/4], [0, 0, 0, 1]], [[0, 1, 0, 0], [1, 0, 0, 0], [-1, -1, -1, 0], [0, 0, 0, 1]], [[0, 0, -1, 1/4], [0, -1, 0, 1/4], [-1, 0, 0, 1/4], [0, 0, 0, 1]], [[-1, -1, -1, 0], [0, 0, 1, 0], [0, 1, 0, 0], [0, 0, 0, 1]], [[-1, 0, 0, 1/4], [1, 1, 1, 1/4], [0, 0, -1, 1/4], [0, 0, 0, 1]], [[0, 0, 1, 0], [1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 0, 1]], [[1, 1, 1, 1/4], [0, -1, 0, 1/4], [0, 0, -1, 1/4], [0, 0, 0, 1]], [[1, 0, 0, 0], [0, 0, 1, 0], [-1, -1, -1, 0], [0, 0, 0, 1]], [[0, -1, 0, 1/4], [1, 1, 1, 1/4], [-1, 0, 0, 1/4], [0, 0, 0, 1]], [[-1, -1, -1, 0], [0, 1, 0, 0], [1, 0, 0, 0], [0, 0, 0, 1]], [[-1, 0, 0, 1/4], [0, 0, -1, 1/4], [0, -1, 0, 1/4], [0, 0, 0, 1]], [[0, 1, 0, 0], [-1, -1, -1, 0], [0, 0, 1, 0], [0, 0, 0, 1]], [[0, 0, -1, 1/4], [-1, 0, 0, 1/4], [1, 1, 1, 1/4], [0, 0, 0, 1]], [[0, 1, 0, 0], [0, 0, 1, 0], [1, 0, 0, 0], [0, 0, 0, 1]], [[0, 0, -1, 1/4], [1, 1, 1, 1/4], [0, -1, 0, 1/4], [0, 0, 0, 1]], [[-1, -1, -1, 0], [1, 0, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]], [[-1, 0, 0, 1/4], [0, -1, 0, 1/4], [1, 1, 1, 1/4], [0, 0, 0, 1]], [[1, 0, 0, 0], [-1, -1, -1, 0], [0, 1, 0, 0], [0, 0, 0, 1]], [[0, -1, 0, 1/4], [-1, 0, 0, 1/4], [0, 0, -1, 1/4], [0, 0, 0, 1]], [[0, 0, 1, 0], [0, 1, 0, 0], [-1, -1, -1, 0], [0, 0, 0, 1]], [[1, 1, 1, 1/4], [0, 0, -1, 1/4], [-1, 0, 0, 1/4], [0, 0, 0, 1]], [[-1, 0, 0, 1/4], [0, -1, 0, 1/4], [0, 0, -1, 1/4], [0, 0, 0, 1]], [[0, 1, 0, 0], [0, 0, 1, 0], [-1, -1, -1, 0], [0, 0, 0, 1]], [[0, 0, -1, 1/4], [1, 1, 1, 1/4], [-1, 0, 0, 1/4], [0, 0, 0, 1]], [[-1, -1, -1, 0], [1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 0, 1]], [[0, -1, 0, 1/4], [-1, 0, 0, 1/4], [1, 1, 1, 1/4], [0, 0, 0, 1]], [[0, 0, 1, 0], [0, 1, 0, 0], [1, 0, 0, 0], [0, 0, 0, 1]], [[1, 1, 1, 1/4], [0, 0, -1, 1/4], [0, -1, 0, 1/4], [0, 0, 0, 1]], [[1, 0, 0, 0], [-1, -1, -1, 0], [0, 0, 1, 0], [0, 0, 0, 1]], [[0, 0, -1, 1/4], [-1, 0, 0, 1/4], [0, -1, 0, 1/4], [0, 0, 0, 1]], [[-1, -1, -1, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]], [[-1, 0, 0, 1/4], [0, 0, -1, 1/4], [1, 1, 1, 1/4], [0, 0, 0, 1]], [[0, 1, 0, 0], [-1, -1, -1, 0], [1, 0, 0, 0], [0, 0, 0, 1]], [[1, 1, 1, 1/4], [0, -1, 0, 1/4], [-1, 0, 0, 1/4], [0, 0, 0, 1]], [[1, 0, 0, 0], [0, 0, 1, 0], [0, 1, 0, 0], [0, 0, 0, 1]], [[0, -1, 0, 1/4], [1, 1, 1, 1/4], [0, 0, -1, 1/4], [0, 0, 0, 1]], [[0, 0, 1, 0], [1, 0, 0, 0], [-1, -1, -1, 0], [0, 0, 0, 1]], [[0, -1, 0, 1/4], [0, 0, -1, 1/4], [-1, 0, 0, 1/4], [0, 0, 0, 1]], [[0, 0, 1, 0], [-1, -1, -1, 0], [0, 1, 0, 0], [0, 0, 0, 1]], [[1, 1, 1, 1/4], [-1, 0, 0, 1/4], [0, 0, -1, 1/4], [0, 0, 0, 1]], [[1, 0, 0, 0], [0, 1, 0, 0], [-1, -1, -1, 0], [0, 0, 0, 1]], [[-1, 0, 0, 1/4], [1, 1, 1, 1/4], [0, -1, 0, 1/4], [0, 0, 0, 1]], [[0, 1, 0, 0], [1, 0, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]], [[0, 0, -1, 1/4], [0, -1, 0, 1/4], [1, 1, 1, 1/4], [0, 0, 0, 1]], [[-1, -1, -1, 0], [0, 0, 1, 0], [1, 0, 0, 0], [0, 0, 0, 1]]]
POSCAR_vaspkit:=[[[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]], [[1, 1, 1, 1/4], [0, 0, -1, 1/4], [-1, 0, 0, 1/4], [0, 0, 0, 1]], [[0, 1, 0, 0], [1, 0, 0, 0], [-1, -1, -1, 0], [0, 0, 0, 1]], [[0, 0, -1, 1/4], [1, 1, 1, 1/4], [0, -1, 0, 1/4], [0, 0, 0, 1]], [[-1, -1, -1, 0], [0, 0, 1, 0], [0, 1, 0, 0], [0, 0, 0, 1]], [[0, -1, 0, 1/4], [-1, 0, 0, 1/4], [0, 0, -1, 1/4], [0, 0, 0, 1]], [[0, 0, 1, 0], [-1, -1, -1, 0], [1, 0, 0, 0], [0, 0, 0, 1]], [[-1, 0, 0, 1/4], [0, -1, 0, 1/4], [1, 1, 1, 1/4], [0, 0, 0, 1]], [[0, 0, 1, 0], [1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 0, 1]], [[-1, 0, 0, 1/4], [1, 1, 1, 1/4], [0, 0, -1, 1/4], [0, 0, 0, 1]], [[-1, -1, -1, 0], [0, 1, 0, 0], [1, 0, 0, 0], [0, 0, 0, 1]], [[0, -1, 0, 1/4], [0, 0, -1, 1/4], [1, 1, 1, 1/4], [0, 0, 0, 1]], [[0, 1, 0, 0], [-1, -1, -1, 0], [0, 0, 1, 0], [0, 0, 0, 1]], [[0, 0, -1, 1/4], [0, -1, 0, 1/4], [-1, 0, 0, 1/4], [0, 0, 0, 1]], [[1, 0, 0, 0], [0, 0, 1, 0], [-1, -1, -1, 0], [0, 0, 0, 1]], [[1, 1, 1, 1/4], [-1, 0, 0, 1/4], [0, -1, 0, 1/4], [0, 0, 0, 1]], [[0, 1, 0, 0], [0, 0, 1, 0], [1, 0, 0, 0], [0, 0, 0, 1]], [[0, 0, -1, 1/4], [-1, 0, 0, 1/4], [1, 1, 1, 1/4], [0, 0, 0, 1]], [[1, 0, 0, 0], [-1, -1, -1, 0], [0, 1, 0, 0], [0, 0, 0, 1]], [[1, 1, 1, 1/4], [0, -1, 0, 1/4], [0, 0, -1, 1/4], [0, 0, 0, 1]], [[0, 0, 1, 0], [0, 1, 0, 0], [-1, -1, -1, 0], [0, 0, 0, 1]], [[-1, 0, 0, 1/4], [0, 0, -1, 1/4], [0, -1, 0, 1/4], [0, 0, 0, 1]], [[-1, -1, -1, 0], [1, 0, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]], [[0, -1, 0, 1/4], [1, 1, 1, 1/4], [-1, 0, 0, 1/4], [0, 0, 0, 1]], [[-1, 0, 0, 1/4], [0, -1, 0, 1/4], [0, 0, -1, 1/4], [0, 0, 0, 1]], [[-1, -1, -1, 0], [0, 0, 1, 0], [1, 0, 0, 0], [0, 0, 0, 1]], [[0, -1, 0, 1/4], [-1, 0, 0, 1/4], [1, 1, 1, 1/4], [0, 0, 0, 1]], [[0, 0, 1, 0], [-1, -1, -1, 0], [0, 1, 0, 0], [0, 0, 0, 1]], [[1, 1, 1, 1/4], [0, 0, -1, 1/4], [0, -1, 0, 1/4], [0, 0, 0, 1]], [[0, 1, 0, 0], [1, 0, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]], [[0, 0, -1, 1/4], [1, 1, 1, 1/4], [-1, 0, 0, 1/4], [0, 0, 0, 1]], [[1, 0, 0, 0], [0, 1, 0, 0], [-1, -1, -1, 0], [0, 0, 0, 1]], [[0, 0, -1, 1/4], [-1, 0, 0, 1/4], [0, -1, 0, 1/4], [0, 0, 0, 1]], [[1, 0, 0, 0], [-1, -1, -1, 0], [0, 0, 1, 0], [0, 0, 0, 1]], [[1, 1, 1, 1/4], [0, -1, 0, 1/4], [-1, 0, 0, 1/4], [0, 0, 0, 1]], [[0, 1, 0, 0], [0, 0, 1, 0], [-1, -1, -1, 0], [0, 0, 0, 1]], [[0, -1, 0, 1/4], [1, 1, 1, 1/4], [0, 0, -1, 1/4], [0, 0, 0, 1]], [[0, 0, 1, 0], [0, 1, 0, 0], [1, 0, 0, 0], [0, 0, 0, 1]], [[-1, 0, 0, 1/4], [0, 0, -1, 1/4], [1, 1, 1, 1/4], [0, 0, 0, 1]], [[-1, -1, -1, 0], [1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 0, 1]], [[0, -1, 0, 1/4], [0, 0, -1, 1/4], [-1, 0, 0, 1/4], [0, 0, 0, 1]], [[0, 0, 1, 0], [1, 0, 0, 0], [-1, -1, -1, 0], [0, 0, 0, 1]], [[-1, 0, 0, 1/4], [1, 1, 1, 1/4], [0, -1, 0, 1/4], [0, 0, 0, 1]], [[-1, -1, -1, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]], [[0, 0, -1, 1/4], [0, -1, 0, 1/4], [1, 1, 1, 1/4], [0, 0, 0, 1]], [[1, 0, 0, 0], [0, 0, 1, 0], [0, 1, 0, 0], [0, 0, 0, 1]], [[1, 1, 1, 1/4], [-1, 0, 0, 1/4], [0, 0, -1, 1/4], [0, 0, 0, 1]], [[0, 1, 0, 0], [-1, -1, -1, 0], [1, 0, 0, 0], [0, 0, 0, 1]]]
Then the above generators can be tested with my
CrystKit package as follows:
Code: Select all
POSCAR_ms:=[[[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]], [[0, -1, 0, 1/4], [0, 0, -1, 1/4], [1, 1, 1, 1/4], [0, 0, 0, 1]], [[0, 0, 1, 0], [-1, -1, -1, 0], [1, 0, 0, 0], [0, 0, 0, 1]], [[1, 1, 1, 1/4], [-1, 0, 0, 1/4], [0, -1, 0, 1/4], [0, 0, 0, 1]], [[0, 1, 0, 0], [1, 0, 0, 0], [-1, -1, -1, 0], [0, 0, 0, 1]], [[0, 0, -1, 1/4], [0, -1, 0, 1/4], [-1, 0, 0, 1/4], [0, 0, 0, 1]], [[-1, -1, -1, 0], [0, 0, 1, 0], [0, 1, 0, 0], [0, 0, 0, 1]], [[-1, 0, 0, 1/4], [1, 1, 1, 1/4], [0, 0, -1, 1/4], [0, 0, 0, 1]], [[0, 0, 1, 0], [1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 0, 1]], [[1, 1, 1, 1/4], [0, -1, 0, 1/4], [0, 0, -1, 1/4], [0, 0, 0, 1]], [[1, 0, 0, 0], [0, 0, 1, 0], [-1, -1, -1, 0], [0, 0, 0, 1]], [[0, -1, 0, 1/4], [1, 1, 1, 1/4], [-1, 0, 0, 1/4], [0, 0, 0, 1]], [[-1, -1, -1, 0], [0, 1, 0, 0], [1, 0, 0, 0], [0, 0, 0, 1]], [[-1, 0, 0, 1/4], [0, 0, -1, 1/4], [0, -1, 0, 1/4], [0, 0, 0, 1]], [[0, 1, 0, 0], [-1, -1, -1, 0], [0, 0, 1, 0], [0, 0, 0, 1]], [[0, 0, -1, 1/4], [-1, 0, 0, 1/4], [1, 1, 1, 1/4], [0, 0, 0, 1]], [[0, 1, 0, 0], [0, 0, 1, 0], [1, 0, 0, 0], [0, 0, 0, 1]], [[0, 0, -1, 1/4], [1, 1, 1, 1/4], [0, -1, 0, 1/4], [0, 0, 0, 1]], [[-1, -1, -1, 0], [1, 0, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]], [[-1, 0, 0, 1/4], [0, -1, 0, 1/4], [1, 1, 1, 1/4], [0, 0, 0, 1]], [[1, 0, 0, 0], [-1, -1, -1, 0], [0, 1, 0, 0], [0, 0, 0, 1]], [[0, -1, 0, 1/4], [-1, 0, 0, 1/4], [0, 0, -1, 1/4], [0, 0, 0, 1]], [[0, 0, 1, 0], [0, 1, 0, 0], [-1, -1, -1, 0], [0, 0, 0, 1]], [[1, 1, 1, 1/4], [0, 0, -1, 1/4], [-1, 0, 0, 1/4], [0, 0, 0, 1]], [[-1, 0, 0, 1/4], [0, -1, 0, 1/4], [0, 0, -1, 1/4], [0, 0, 0, 1]], [[0, 1, 0, 0], [0, 0, 1, 0], [-1, -1, -1, 0], [0, 0, 0, 1]], [[0, 0, -1, 1/4], [1, 1, 1, 1/4], [-1, 0, 0, 1/4], [0, 0, 0, 1]], [[-1, -1, -1, 0], [1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 0, 1]], [[0, -1, 0, 1/4], [-1, 0, 0, 1/4], [1, 1, 1, 1/4], [0, 0, 0, 1]], [[0, 0, 1, 0], [0, 1, 0, 0], [1, 0, 0, 0], [0, 0, 0, 1]], [[1, 1, 1, 1/4], [0, 0, -1, 1/4], [0, -1, 0, 1/4], [0, 0, 0, 1]], [[1, 0, 0, 0], [-1, -1, -1, 0], [0, 0, 1, 0], [0, 0, 0, 1]], [[0, 0, -1, 1/4], [-1, 0, 0, 1/4], [0, -1, 0, 1/4], [0, 0, 0, 1]], [[-1, -1, -1, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]], [[-1, 0, 0, 1/4], [0, 0, -1, 1/4], [1, 1, 1, 1/4], [0, 0, 0, 1]], [[0, 1, 0, 0], [-1, -1, -1, 0], [1, 0, 0, 0], [0, 0, 0, 1]], [[1, 1, 1, 1/4], [0, -1, 0, 1/4], [-1, 0, 0, 1/4], [0, 0, 0, 1]], [[1, 0, 0, 0], [0, 0, 1, 0], [0, 1, 0, 0], [0, 0, 0, 1]], [[0, -1, 0, 1/4], [1, 1, 1, 1/4], [0, 0, -1, 1/4], [0, 0, 0, 1]], [[0, 0, 1, 0], [1, 0, 0, 0], [-1, -1, -1, 0], [0, 0, 0, 1]], [[0, -1, 0, 1/4], [0, 0, -1, 1/4], [-1, 0, 0, 1/4], [0, 0, 0, 1]], [[0, 0, 1, 0], [-1, -1, -1, 0], [0, 1, 0, 0], [0, 0, 0, 1]], [[1, 1, 1, 1/4], [-1, 0, 0, 1/4], [0, 0, -1, 1/4], [0, 0, 0, 1]], [[1, 0, 0, 0], [0, 1, 0, 0], [-1, -1, -1, 0], [0, 0, 0, 1]], [[-1, 0, 0, 1/4], [1, 1, 1, 1/4], [0, -1, 0, 1/4], [0, 0, 0, 1]], [[0, 1, 0, 0], [1, 0, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]], [[0, 0, -1, 1/4], [0, -1, 0, 1/4], [1, 1, 1, 1/4], [0, 0, 0, 1]], [[-1, -1, -1, 0], [0, 0, 1, 0], [1, 0, 0, 0], [0, 0, 0, 1]]];;
POSCAR_vaspkit:=[[[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]], [[1, 1, 1, 1/4], [0, 0, -1, 1/4], [-1, 0, 0, 1/4], [0, 0, 0, 1]], [[0, 1, 0, 0], [1, 0, 0, 0], [-1, -1, -1, 0], [0, 0, 0, 1]], [[0, 0, -1, 1/4], [1, 1, 1, 1/4], [0, -1, 0, 1/4], [0, 0, 0, 1]], [[-1, -1, -1, 0], [0, 0, 1, 0], [0, 1, 0, 0], [0, 0, 0, 1]], [[0, -1, 0, 1/4], [-1, 0, 0, 1/4], [0, 0, -1, 1/4], [0, 0, 0, 1]], [[0, 0, 1, 0], [-1, -1, -1, 0], [1, 0, 0, 0], [0, 0, 0, 1]], [[-1, 0, 0, 1/4], [0, -1, 0, 1/4], [1, 1, 1, 1/4], [0, 0, 0, 1]], [[0, 0, 1, 0], [1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 0, 1]], [[-1, 0, 0, 1/4], [1, 1, 1, 1/4], [0, 0, -1, 1/4], [0, 0, 0, 1]], [[-1, -1, -1, 0], [0, 1, 0, 0], [1, 0, 0, 0], [0, 0, 0, 1]], [[0, -1, 0, 1/4], [0, 0, -1, 1/4], [1, 1, 1, 1/4], [0, 0, 0, 1]], [[0, 1, 0, 0], [-1, -1, -1, 0], [0, 0, 1, 0], [0, 0, 0, 1]], [[0, 0, -1, 1/4], [0, -1, 0, 1/4], [-1, 0, 0, 1/4], [0, 0, 0, 1]], [[1, 0, 0, 0], [0, 0, 1, 0], [-1, -1, -1, 0], [0, 0, 0, 1]], [[1, 1, 1, 1/4], [-1, 0, 0, 1/4], [0, -1, 0, 1/4], [0, 0, 0, 1]], [[0, 1, 0, 0], [0, 0, 1, 0], [1, 0, 0, 0], [0, 0, 0, 1]], [[0, 0, -1, 1/4], [-1, 0, 0, 1/4], [1, 1, 1, 1/4], [0, 0, 0, 1]], [[1, 0, 0, 0], [-1, -1, -1, 0], [0, 1, 0, 0], [0, 0, 0, 1]], [[1, 1, 1, 1/4], [0, -1, 0, 1/4], [0, 0, -1, 1/4], [0, 0, 0, 1]], [[0, 0, 1, 0], [0, 1, 0, 0], [-1, -1, -1, 0], [0, 0, 0, 1]], [[-1, 0, 0, 1/4], [0, 0, -1, 1/4], [0, -1, 0, 1/4], [0, 0, 0, 1]], [[-1, -1, -1, 0], [1, 0, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]], [[0, -1, 0, 1/4], [1, 1, 1, 1/4], [-1, 0, 0, 1/4], [0, 0, 0, 1]], [[-1, 0, 0, 1/4], [0, -1, 0, 1/4], [0, 0, -1, 1/4], [0, 0, 0, 1]], [[-1, -1, -1, 0], [0, 0, 1, 0], [1, 0, 0, 0], [0, 0, 0, 1]], [[0, -1, 0, 1/4], [-1, 0, 0, 1/4], [1, 1, 1, 1/4], [0, 0, 0, 1]], [[0, 0, 1, 0], [-1, -1, -1, 0], [0, 1, 0, 0], [0, 0, 0, 1]], [[1, 1, 1, 1/4], [0, 0, -1, 1/4], [0, -1, 0, 1/4], [0, 0, 0, 1]], [[0, 1, 0, 0], [1, 0, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]], [[0, 0, -1, 1/4], [1, 1, 1, 1/4], [-1, 0, 0, 1/4], [0, 0, 0, 1]], [[1, 0, 0, 0], [0, 1, 0, 0], [-1, -1, -1, 0], [0, 0, 0, 1]], [[0, 0, -1, 1/4], [-1, 0, 0, 1/4], [0, -1, 0, 1/4], [0, 0, 0, 1]], [[1, 0, 0, 0], [-1, -1, -1, 0], [0, 0, 1, 0], [0, 0, 0, 1]], [[1, 1, 1, 1/4], [0, -1, 0, 1/4], [-1, 0, 0, 1/4], [0, 0, 0, 1]], [[0, 1, 0, 0], [0, 0, 1, 0], [-1, -1, -1, 0], [0, 0, 0, 1]], [[0, -1, 0, 1/4], [1, 1, 1, 1/4], [0, 0, -1, 1/4], [0, 0, 0, 1]], [[0, 0, 1, 0], [0, 1, 0, 0], [1, 0, 0, 0], [0, 0, 0, 1]], [[-1, 0, 0, 1/4], [0, 0, -1, 1/4], [1, 1, 1, 1/4], [0, 0, 0, 1]], [[-1, -1, -1, 0], [1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 0, 1]], [[0, -1, 0, 1/4], [0, 0, -1, 1/4], [-1, 0, 0, 1/4], [0, 0, 0, 1]], [[0, 0, 1, 0], [1, 0, 0, 0], [-1, -1, -1, 0], [0, 0, 0, 1]], [[-1, 0, 0, 1/4], [1, 1, 1, 1/4], [0, -1, 0, 1/4], [0, 0, 0, 1]], [[-1, -1, -1, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]], [[0, 0, -1, 1/4], [0, -1, 0, 1/4], [1, 1, 1, 1/4], [0, 0, 0, 1]], [[1, 0, 0, 0], [0, 0, 1, 0], [0, 1, 0, 0], [0, 0, 0, 1]], [[1, 1, 1, 1/4], [-1, 0, 0, 1/4], [0, 0, -1, 1/4], [0, 0, 0, 1]], [[0, 1, 0, 0], [-1, -1, -1, 0], [1, 0, 0, 0], [0, 0, 0, 1]]];;
S1:=AffineCrystGroupOnLeft(POSCAR_ms);
S2:=AffineCrystGroupOnLeft(POSCAR_vaspkit);
AffineIsomorphismSpaceGroups(S1, S2);
This will give the following result:
Code: Select all
gap> AffineIsomorphismSpaceGroups(S1, S2);
[ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], [ 0, 0, 0, 1 ] ]
2. Use the following Python code snippet to obtain the generators for comparison based on Bilbao Crystallographic Server IDENTIFY GROUP:
Code: Select all
from pymatgen.core import Structure
from pymatgen.symmetry.analyzer import SpacegroupAnalyzer
structure = Structure.from_file("./POSCAR_vaspkit")
analyzer = SpacegroupAnalyzer(structure)
space_group_symbol = analyzer.get_space_group_symbol()
print(f"Space Group Symbol: {space_group_symbol}")
symmetry_operations = analyzer.get_symmetry_operations()
for i, op in enumerate(symmetry_operations, start=1):
#print(f"Operation {i}:")
print(op.as_xyz_str())