Isotropy subgroup¶
- class spgrep_modulation.isotropy.IsotropyEnumerator(little_rotations, little_translations, qpoint, small_rep, max_denominator=100, atol=1e-06)[source]¶
Enumerate isotropy subgroups of given little group and small representation.
Initialize class.
- Parameters
little_rotations (array[int], (order, 3, 3)) – Rotation parts of a little group
little_translations (array, (order, 3)) – Translation parts of a little group
qpoint (array, (3, )) – Reciprocal point
small_rep (array, (order, dim, dim)) – Small representation of space group at
qpoint
max_denominator (int, default=100) – Maximal value to infer denominators of
qpoint
atol (float, default=1e-6) – Absolute tolerance to avoid numerical noise
- property little_rotations¶
Return rotations of little group at
qpoint
.
- property little_translations¶
Return translations of little group at
qpoint
.
- property qpoint¶
Return qpoint.
- property small_rep¶
Return small representation of space group.
- property maximal_isotropy_subgroups¶
Return list of indices for isotropy subgroups.
Let
subgroup = self.maximal_isotropy_subgroups[i]
.(self.little_rotations[subgroup], self.little_translations[subgroup])
gives a coset of thei
-th isotropy subgroup.
- property order_parameter_directions¶
Return order-parameter directions of isotropy subgroups.
Let
opd = self.order_parameter_directions[i]
, which is an array with(num_direction, dim)
.num_direction
is the number of free parameters for thei
-th isotropy subgroup.dim
is dimension of the given small representation.
- spgrep_modulation.isotropy.get_translational_subgroup(qpoint, max_denominator=100)[source]¶
Return transformation matrix of the following sublattice.
Let
t
be a lattice point of the returned sublattice. Then,np.dot(t, qpoint)
is integer.
- Parameters
qpoint (array, (3, )) – Reciprocal point
max_denominator (int, default=100) – Maximal value to infer denominators of
qpoint
- Returns
transformation –
transformation @ qpoint
is integer vector.- Return type
array, (3, 3)
- spgrep_modulation.isotropy.enumerate_point_subgroup(table, preserve_sublattice, return_conjugacy_class=True)[source]¶
Enumerate conjugacy subgroups of point group.
- Parameters
table (array[int], (order, order)) – Multiplication table of group
preserve_sublattice (list[bool]) – Specify
preserve_sublattice[i] = True
if thei
-th operation preserves translational subgroup of isotropy subgroupreturn_conjugacy_class (bool, default=True) – If true, return representatives of conjugacy classes.
- Returns
subgroups
- Return type
list[list[int]]