CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
#include <SymPermutation.hh>
SymPermutation describes how a symmetry operation permutes a list of 'things' For example, Coordinates in a Cluster, basis atoms in a Structure, Clusters in an Orbit, etc.
Definition at line 26 of file SymPermutation.hh.
Public Member Functions | |
template<typename Iterator > | |
SymPermutation (Iterator begin, Iterator end) | |
SymPermutation (const std::vector< Index > &init_permute) | |
SymPermutation (const Permutation &init_permute) | |
double | character () const override |
Calculates character of the representation (if well-defined) More... | |
SymOpRepresentation * | copy () const override |
Return pointer to a copy of this SymPermutation. More... | |
Permutation const * | permutation () const override |
Access the permutation array 'm_permute'. More... | |
Eigen::MatrixXd const * | MatrixXd () const override |
Access the permutation matrix. More... | |
virtual SymBasisPermute const * | ucc_permutation () const |
std::unique_ptr< SymOpRepresentation > | inverse () const |
SymOpRepresentation const & | representation (SymGroupRepID _rep_ID) const |
Eigen::MatrixXd const * | get_matrix_rep (SymGroupRepID _rep_ID) const |
get pointer to matrix representation corresponding to rep_ID More... | |
Permutation const * | get_permutation_rep (SymGroupRepID _rep_ID) const |
get pointer to permutation representation corresponding to _rep_ID More... | |
SymBasisPermute const * | get_basis_permute_rep (SymGroupRepID _rep_ID) const |
get pointer to BasisPermute representation corresponding to _rep_ID More... | |
Array< Eigen::MatrixXd const * > | get_matrix_reps (Array< SymGroupRepID > _rep_IDs) const |
void | set_rep (SymGroupRepID _rep_ID, const SymOpRepresentation &op_rep) const |
set representation for SymOp corresponding to _rep_ID More... | |
void | set_identifiers (const MasterSymGroup &new_group, SymGroupRepID new_rep_ID) |
Change m_master_group and determine op_index. More... | |
void | set_identifiers (const MasterSymGroup &new_group, SymGroupRepID new_rep_ID, Index new_op_index) |
Set m_master_group, _rep_ID, and op_index. More... | |
const MasterSymGroup & | master_group () const |
const access of head group More... | |
bool | has_valid_master () const |
check if this representation is registered with a MasterSymGroup More... | |
void | invalidate_index () |
Index | index () const |
Index | master_group_index () const |
Index of this operation within the master_group. More... | |
SymGroupRepID | rep_ID () const |
Index | ind_inverse () const |
Index | ind_prod (const SymOpRepresentation &RHS) const |
Protected Member Functions | |
SymOpRepresentation * | inverse_impl () const override |
virtual void | _set_integral_tau () |
Protected Attributes | |
MasterSymGroup const * | m_master_group |
Pointer to the MasterSymGroup where prototype of this SymOp lives. More... | |
SymGroupRepID | m_rep_ID |
Index | m_op_index |
Index into MasterSymGroup that specifies the operation. More... | |
Private Member Functions | |
void | _calc_mat () const |
Generate the matrix of permutation, when m_permute is known. More... | |
Private Attributes | |
Permutation | m_permute |
bool | m_has_mat |
Eigen::MatrixXd | m_mat |
|
inline |
Initialize a SymPermutation with the permutation array. The corresponding matrix is generated automatically
Definition at line 31 of file SymPermutation.hh.
|
inline |
Initialize a SymPermutation with the permutation array. The corresponding matrix is generated automatically
Definition at line 36 of file SymPermutation.hh.
|
inline |
Initialize a SymPermutation with the permutation array. The corresponding matrix is generated automatically
Definition at line 41 of file SymPermutation.hh.
|
private |
Generate the matrix of permutation, when m_permute is known.
Definition at line 24 of file SymPermutation.cc.
|
inlineprotectedvirtualinherited |
Reimplemented in CASM::SymOp.
Definition at line 130 of file SymOpRepresentation.hh.
|
overridevirtual |
Calculates character of the representation (if well-defined)
Reimplemented from CASM::SymOpRepresentation.
Definition at line 8 of file SymPermutation.cc.
|
inlineoverridevirtual |
Return pointer to a copy of this SymPermutation.
Implements CASM::SymOpRepresentation.
Definition at line 47 of file SymPermutation.hh.
|
inherited |
get pointer to BasisPermute representation corresponding to _rep_ID
Definition at line 36 of file SymOpRepresentation.cc.
|
inherited |
get pointer to matrix representation corresponding to rep_ID
Definition at line 28 of file SymOpRepresentation.cc.
|
inherited |
get array of pointers to matrix representations for representations corresponding to _rep_IDs
Definition at line 51 of file SymOpRepresentation.cc.
|
inherited |
get pointer to permutation representation corresponding to _rep_ID
Definition at line 43 of file SymOpRepresentation.cc.
|
inlineinherited |
check if this representation is registered with a MasterSymGroup
Definition at line 91 of file SymOpRepresentation.hh.
|
inherited |
Get the operation index of the inverse of this operation, using the master_group's multiplication table
Definition at line 101 of file SymOpRepresentation.cc.
|
inherited |
Get the operation index of operation that is the product of this operation and
RHS,using | the master_group's multiplication table |
Definition at line 110 of file SymOpRepresentation.cc.
|
inlineinherited |
Index of this operation within the master_group (equivalent to master_group_index)
Definition at line 97 of file SymOpRepresentation.hh.
|
inlineinherited |
Definition at line 93 of file SymOpRepresentation.hh.
|
inherited |
Definition at line 12 of file SymOpRepresentation.cc.
|
inlineoverrideprotectedvirtual |
Reimplemented from CASM::SymOpRepresentation.
Definition at line 61 of file SymPermutation.hh.
|
inlineinherited |
const access of head group
Definition at line 85 of file SymOpRepresentation.hh.
|
inlineinherited |
Index of this operation within the master_group.
Definition at line 100 of file SymOpRepresentation.hh.
|
inlineoverridevirtual |
Access the permutation matrix.
Reimplemented from CASM::SymOpRepresentation.
Definition at line 55 of file SymPermutation.hh.
|
inlineoverridevirtual |
Access the permutation array 'm_permute'.
Reimplemented from CASM::SymOpRepresentation.
Definition at line 52 of file SymPermutation.hh.
|
inlineinherited |
ID of representation that this operation belongs to within the master_group
Definition at line 104 of file SymOpRepresentation.hh.
|
inherited |
Definition at line 21 of file SymOpRepresentation.cc.
|
inherited |
Change m_master_group and determine op_index.
Definition at line 69 of file SymOpRepresentation.cc.
|
inherited |
Set m_master_group, _rep_ID, and op_index.
Definition at line 89 of file SymOpRepresentation.cc.
|
inherited |
set representation for SymOp corresponding to _rep_ID
Definition at line 61 of file SymOpRepresentation.cc.
|
inlinevirtualinherited |
Reimplemented in CASM::SymBasisPermute.
Definition at line 53 of file SymOpRepresentation.hh.
|
private |
Definition at line 73 of file SymPermutation.hh.
|
protectedinherited |
Pointer to the MasterSymGroup where prototype of this SymOp lives.
Definition at line 133 of file SymOpRepresentation.hh.
|
mutableprivate |
Matrix of ones and zeroes that reorders elements of a vector Matrix is nxn, where 'n' is the number of things that are permuted
Definition at line 77 of file SymPermutation.hh.
|
protectedinherited |
Index into MasterSymGroup that specifies the operation.
Definition at line 140 of file SymOpRepresentation.hh.
|
private |
Array of indices, of length 'n'. An index 'm_permute[j]' before application of symmetry resides at index 'j' after application of symmetry example: For an 'Array<THINGS> my_array', transforms as my_array.permute(m_permute);
Definition at line 70 of file SymPermutation.hh.
|
protectedinherited |
ID of this representation within the master_group. Default is uninitialized.
Definition at line 137 of file SymOpRepresentation.hh.