SymGroup#
- class libcasm.sym_info.SymGroup(
- self: SymGroup,
- elements: collections.abc.Sequence[SymOp],
- multiplication_table: collections.abc.Sequence[collections.abc.Sequence[SupportsInt]],
Bases:
pybind11_objectData structure holding group elements and other group info, such as group-subgroup relationships.
The
SymGroupclass goes beyond storing alist[SymOp]to include the multiplication table and inverse element table. The SymGroup class may represent a head group, or a subgroup.When representing a subgroup, the head group can be obtained as a shared pointer from
head_group(). Pointers to subgroups are not stored by the head group. For subgroups, there is a list of indices indicating which element in the head group each subgroup element corresponds to (head_group_index()).The
libcasm.sym_infopackage provides factory functions for the common use cases of constructing the prim factor group and prim point group:Factory Functions
make_factor_group(): Make thelibcasm.xtal.Primfactor groupmake_point_group(): Make thelibcasm.xtal.Primpoint group
Special methods
Get the i-th element of the group using:
element = group[i]
Constructor
- Parameters:
elements (list[SymOp]) – The matrix representation of elements of the group.
multiplication_table (list[list[int]]) – The multiplication table element multiplication_table[i][j] == k represents that
np.allclose(elements[k], elements[i] @ elements[j]) == True.
Methods
brief_cart(…)Brief description, in Cartesian coordinates
brief_frac(…)Brief description, in fractional coordinates
Returns the conjugacy classes
from_dict(…)Construct a SymGroup from a Python dict.
inv(…)Returns the index of the inverse of an element
Make a subgroup
mult(…)Returns the index of the element product.
to_dict(…)Represent the SymGroup as a Python dict
Attributes
The elements list
The head group if this is a subgroup, else None.
The list of head group indices (guaranteed sorted)
The list of inverse indices
True if this is a subgroup, False otherwise.
The multiplication table.