SymGroup#
- class libcasm.sym_info.SymGroup( )#
Bases:
pybind11_object
Data structure holding group elements and other group info, such as group-subgroup relationships.
The
SymGroup
class 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_info
package 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.Prim
factor groupmake_point_group()
: Make thelibcasm.xtal.Prim
point 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 description, in Cartesian coordinates
Brief description, in fractional coordinates
Returns the conjugacy classes
Construct a SymGroup from a Python dict.
Returns the index of the inverse of an element
Make a subgroup
Returns the index of the element product.
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.