CASM
AClustersApproachtoStatisticalMechanics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules
CASM::SymGroupRep Class Reference

#include <SymGroupRep.hh>

+ Inheritance diagram for CASM::SymGroupRep:

Detailed Description

SymGroupRep is an alternative representation of a SymGroup for something other than real space. There is a one-to-one correspondence of SymOps in some SymGroup with the SymOpRepresentations in SymGroupRep SymGroupRep does not know or care about the specifics of what the SymOpRepresentations describe or how they are implemented.

Definition at line 30 of file SymGroupRep.hh.

Public Types

enum  NullInitializer { NO_HOME }
 
typedef SymGroupRepHandle RemoteHandle
 
typedef Array
< SymOpRepresentation * > 
X1
 
typedef Array< X1X2
 
typedef Array< X2X3
 
typedef Array< X3X4
 
typedef Array< X4X5
 
typedef Array< X5X6
 
typedef Array< X6X7
 
typedef Array< X7X8
 
typedef Array< X8X9
 
typedef SymOpRepresentationvalue_type
 
typedef Index size_type
 
typedef SymOpRepresentation ** iterator
 
typedef const
SymOpRepresentation ** 
const_iterator
 

Public Member Functions

 SymGroupRep (SymGroupRep::NullInitializer init, Index _size)
 
 SymGroupRep (const SymGroup &_head, SymGroupRepID _rep_ID=SymGroupRepID())
 
 SymGroupRep (const SymGroupRep &RHS)
 
 ~SymGroupRep ()
 
void set_rep (const SymOpRepresentation &base_rep, const SymOpRepresentation &new_rep) const
 
void set_rep (const SymOp &base_rep, const SymOpRepresentation &new_rep) const
 
void set_rep (Index op_index, const SymOpRepresentation &new_rep) const
 
const MasterSymGroupmaster_group () const
 
bool has_valid_master () const
 
void set_master_group (const MasterSymGroup &master, const SymGroupRepID &_rep_ID)
 
SymGroupRepID add_copy_to_master () const
 Adds copy of this representation its home_group. More...
 
SymGroupRepoperator= (const SymGroupRep &RHS)
 
void clear ()
 
SymGroupRepcopy () const
 
void print_permutation (std::ostream &stream) const
 
void print_MatrixXd (std::ostream &stream) const
 
void print_MatrixXd (std::ostream &stream, const SymGroup &subgroup) const
 
Eigen::MatrixXd block_shape_matrix () const
 
Eigen::MatrixXd block_shape_matrix (const SymGroup &subgroup) const
 
Index num_blocks () const
 
Index num_blocks (const SymGroup &subgroup) const
 
Eigen::MatrixXd const * get_MatrixXd (Index i) const
 
Eigen::MatrixXd const * get_MatrixXd (const SymOpRepresentation &) const
 
Permutation const * get_permutation (Index i) const
 
Permutation const * get_permutation (const SymOpRepresentation &) const
 
void push_back_copy (const SymOpRepresentation &_pushed)
 
SymGroupRepID get_ID () const
 
std::vector< Eigen::MatrixXd > irreducible_wedges (const SymGroup &head_group, std::vector< Index > &multiplicities) const
 
multivector< Eigen::VectorXd >
::X< 3 > 
calc_special_total_directions (const SymGroup &subgroup) const
 
ReturnArray< Array
< Eigen::MatrixXd > > 
calc_special_subspaces (const SymGroup &subgroup) const
 
ReturnArray< Indexnum_each_irrep () const
 
ReturnArray< Indexnum_each_irrep (const SymGroup &sub_group, bool verbose=false) const
 
ReturnArray< Indexnum_each_real_irrep (const SymGroup &subgroup, bool verbose=false) const
 
ReturnArray< SymGroupRepIDget_irrep_IDs (const SymGroup &subgroup) const
 
bool is_irrep () const
 
bool is_irrep (const SymGroup &head_group) const
 
SymGroupRep coord_transformed_copy (const Eigen::MatrixXd &trans_mat) const
 
SymGroupRep symmetry_adapted_copy (const SymGroup &head_group) const
 
Eigen::MatrixXd get_irrep_trans_mat (const SymGroup &head_group) const
 
Eigen::MatrixXd get_irrep_trans_mat (const SymGroup &head_group, std::vector< std::vector< Index > > &subspaces) const
 
Eigen::MatrixXd get_irrep_trans_mat_blind (const SymGroup &head_group) const
 
ReturnArray< Eigen::MatrixXd > get_projection_operators () const
 
jsonParserto_json (jsonParser &json) const
 
void from_json (const jsonParser &json)
 
Index size () const
 
void swap (Array< SymOpRepresentation * > &RHS)
 
SymOpRepresentation *& at (Index ind)
 
const SymOpRepresentation *& at (Index ind) const
 
const SymOpRepresentation *& operator[] (Index ind) const
 
SymOpRepresentation *& operator[] (Index ind)
 
SymOpRepresentation *& back ()
 
const SymOpRepresentation *& back () const
 
SymOpRepresentation *const * begin () const
 
SymOpRepresentation ** begin ()
 
SymOpRepresentation *const * cbegin () const
 
SymOpRepresentation *const * end () const
 
SymOpRepresentation ** end ()
 
SymOpRepresentation *const * cend () const
 
void push_back (const SymOpRepresentation *&toPush)
 
void pop_back ()
 
void remove (Index ind)
 
void resize (Index new_N)
 
void resize (Index new_N, const SymOpRepresentation *&fill_val)
 
void reserve (Index new_max)
 
void sort (const CompareType &comp)
 
void sort (Array< Index > &ind_order)
 
void sort ()
 
Arrayappend (const Array &new_tail)
 
Arrayappend_unique (const Array &new_tail)
 
void swap_elem (Index i, Index j)
 
Arraypermute (const Array< Index > &perm_array)
 
Arrayipermute (const Array< Index > &perm_array)
 
bool next_permute ()
 
ReturnArray< Indexas_perm_inverse () const
 
ReturnArray< Indexas_perm_transform_by (const Array< Index > &trans_perm) const
 
const SymOpRepresentation *& max () const
 
const SymOpRepresentation *& min () const
 
ReturnArray
< SymOpRepresentation * > 
sub_array (Index ind_begin, Index ind_end) const
 
SymOpRepresentationsum () const
 
bool is_ascending () const
 
bool is_descending () const
 
bool is_constant () const
 
bool is_permute () const
 
bool has_fixed_points () const
 Checks whether any values are equal to their index – only valid for Array<Index> More...
 
bool operator== (const Array< SymOpRepresentation * > &RHS) const
 
bool operator!= (const Array< SymOpRepresentation * > &RHS) const
 
bool operator< (const Array< SymOpRepresentation * > &RHS) const
 
bool operator> (const Array< SymOpRepresentation * > &RHS) const
 
bool operator<= (const Array< SymOpRepresentation * > &RHS) const
 
bool operator>= (const Array< SymOpRepresentation * > &RHS) const
 
bool all_in (const Array &superset) const
 
Index coincidence (const Array &superset) const
 
Index incidences (const SymOpRepresentation *&test_elem) const
 
Index find (const SymOpRepresentation *&test_elem) const
 
Index reverse_find (const SymOpRepresentation *&test_elem) const
 Same as find, but starts from the last element of the Array. More...
 
Index almost_find (const SymOpRepresentation *&test_elem, double tol_val=TOL) const
 
Index almost_reverse_find (const SymOpRepresentation *&test_elem, double tol_val=TOL) const
 Same as almost_find, but start from the last element of the Array. More...
 
bool contains (const SymOpRepresentation *&test_elem) const
 
bool almost_contains (const SymOpRepresentation *&test_elem, double tol_val=TOL) const
 
void print_column (std::ostream &stream, const std::string &indent="") const
 

Static Public Member Functions

static ReturnArray
< SymOpRepresentation * > 
sequence (const SymOpRepresentation *&initial, const SymOpRepresentation *&final)
 Returns an array with the sequence (initial, ++initial, ..., final), inclusive. More...
 
static ReturnArray
< SymOpRepresentation * > 
sequence (const SymOpRepresentation *&initial, const SymOpRepresentation *&increment, const SymOpRepresentation *&final)
 

Private Member Functions

 SymGroupRep ()
 
 SymGroupRep (const MasterSymGroup *_home)
 Pointer version of constructor is private for internal construction of master-less representations. More...
 
void calc_new_irreps (int max_iter=1000) const
 
void calc_new_irreps (const SymGroup &sub_group, int max_iter=1000) const
 
ReturnArray< Array
< Eigen::VectorXd > > 
_calc_special_irrep_directions (const SymGroup &subgroup) const
 
Eigen::MatrixXd _symmetrized_irrep_trans_mat (const SymGroup &subgroup) const
 

Private Attributes

SymGroupRepID m_rep_ID
 rep_ID is unique identifier of a specific SymGroupRep instantiation More...
 
MasterSymGroup const * m_master_group
 Pointer to the home_group that generated this SymGroupRep. More...
 

Member Typedef Documentation

Definition at line 76 of file Array.hh.

Definition at line 75 of file Array.hh.

Definition at line 74 of file Array.hh.

Definition at line 73 of file Array.hh.

Definition at line 63 of file Array.hh.

typedef Array<X1> CASM::Array< SymOpRepresentation * >::X2
inherited

Definition at line 64 of file Array.hh.

typedef Array<X2> CASM::Array< SymOpRepresentation * >::X3
inherited

Definition at line 65 of file Array.hh.

typedef Array<X3> CASM::Array< SymOpRepresentation * >::X4
inherited

Definition at line 66 of file Array.hh.

typedef Array<X4> CASM::Array< SymOpRepresentation * >::X5
inherited

Definition at line 67 of file Array.hh.

typedef Array<X5> CASM::Array< SymOpRepresentation * >::X6
inherited

Definition at line 68 of file Array.hh.

typedef Array<X6> CASM::Array< SymOpRepresentation * >::X7
inherited

Definition at line 69 of file Array.hh.

typedef Array<X7> CASM::Array< SymOpRepresentation * >::X8
inherited

Definition at line 70 of file Array.hh.

typedef Array<X8> CASM::Array< SymOpRepresentation * >::X9
inherited

Definition at line 71 of file Array.hh.

Constructor & Destructor Documentation

CASM::SymGroupRep::SymGroupRep ( SymGroupRep::NullInitializer  init,
Index  _size 
)
inline

Use this constructor when MasterSymGroup is unknown or doesn't exist You must promise that you know what you're doing

Definition at line 38 of file SymGroupRep.hh.

CASM::SymGroupRep::SymGroupRep ( const SymGroup _head,
SymGroupRepID  _rep_ID = SymGroupRepID() 
)
inline

Definition at line 42 of file SymGroupRep.hh.

CASM::SymGroupRep::SymGroupRep ( const SymGroupRep RHS)

Definition at line 14 of file SymGroupRep.cc.

CASM::SymGroupRep::~SymGroupRep ( )

Definition at line 21 of file SymGroupRep.cc.

CASM::SymGroupRep::SymGroupRep ( )
inlineprivate

Definition at line 166 of file SymGroupRep.hh.

CASM::SymGroupRep::SymGroupRep ( const MasterSymGroup _home)
inlineprivate

Pointer version of constructor is private for internal construction of master-less representations.

Definition at line 175 of file SymGroupRep.hh.

Member Function Documentation

ReturnArray< Array< Eigen::VectorXd > > CASM::SymGroupRep::_calc_special_irrep_directions ( const SymGroup subgroup) const
private

Definition at line 471 of file SymGroupRep.cc.

Eigen::MatrixXd CASM::SymGroupRep::_symmetrized_irrep_trans_mat ( const SymGroup subgroup) const
private

Find a new coordinate system oriented along high-symmetry directions in vector space 'V' as determined by the subset of SymOpRepresentations specified by 'subgroup'. The ROWS of trans_mat are the new basis vectors in terms of the old such that new_symrep_matrix = trans_mat * old_symrep_matrix * trans_mat.transpose();

Definition at line 304 of file SymGroupRep.cc.

SymGroupRepID CASM::SymGroupRep::add_copy_to_master ( ) const

Adds copy of this representation its home_group.

Definition at line 123 of file SymGroupRep.cc.

bool CASM::Array< SymOpRepresentation * >::all_in ( const Array< SymOpRepresentation * > &  superset) const
inherited
bool CASM::Array< SymOpRepresentation * >::almost_contains ( const SymOpRepresentation * &  test_elem,
double  tol_val = TOL 
) const
inlineinherited

Definition at line 284 of file Array.hh.

Index CASM::Array< SymOpRepresentation * >::almost_find ( const SymOpRepresentation * &  test_elem,
double  tol_val = TOL 
) const
inherited
Index CASM::Array< SymOpRepresentation * >::almost_reverse_find ( const SymOpRepresentation * &  test_elem,
double  tol_val = TOL 
) const
inherited

Same as almost_find, but start from the last element of the Array.

Array& CASM::Array< SymOpRepresentation * >::append ( const Array< SymOpRepresentation * > &  new_tail)
inherited
Array& CASM::Array< SymOpRepresentation * >::append_unique ( const Array< SymOpRepresentation * > &  new_tail)
inherited
ReturnArray<Index> CASM::Array< SymOpRepresentation * >::as_perm_inverse ( ) const
inherited

Construct permutation that undoes the permutation performed by 'this' Inverse operation is calculated the same, regardless of permutation convention

ReturnArray<Index> CASM::Array< SymOpRepresentation * >::as_perm_transform_by ( const Array< Index > &  trans_perm) const
inherited

Given N distinct objects labeled from 0 to N-1, a permutation 'P_permute' that physically permutes the objects (with labels) in terms of their labels, and a permutation 'L_permute' that permutes their labels only, rewrite 'P_permute' in terms of the relabeling induced by 'L_permute' Rearrange 'this' permutation to form an equivalent permutation for any list that has already been permuted by trans_perm. Does not (nearly certain of this) depend on permutation convention

SymOpRepresentation * & CASM::Array< SymOpRepresentation * >::at ( Index  ind)
inlineinherited

Definition at line 157 of file Array.hh.

const SymOpRepresentation * & CASM::Array< SymOpRepresentation * >::at ( Index  ind) const
inlineinherited

Definition at line 162 of file Array.hh.

SymOpRepresentation * & CASM::Array< SymOpRepresentation * >::back ( )
inlineinherited

Definition at line 177 of file Array.hh.

const SymOpRepresentation * & CASM::Array< SymOpRepresentation * >::back ( ) const
inlineinherited

Definition at line 180 of file Array.hh.

SymOpRepresentation * const* CASM::Array< SymOpRepresentation * >::begin ( ) const
inlineinherited

Definition at line 185 of file Array.hh.

SymOpRepresentation * * CASM::Array< SymOpRepresentation * >::begin ( )
inlineinherited

Definition at line 192 of file Array.hh.

Eigen::MatrixXd CASM::SymGroupRep::block_shape_matrix ( ) const

Definition at line 180 of file SymGroupRep.cc.

Eigen::MatrixXd CASM::SymGroupRep::block_shape_matrix ( const SymGroup subgroup) const

Definition at line 193 of file SymGroupRep.cc.

void CASM::SymGroupRep::calc_new_irreps ( int  max_iter = 1000) const
private

Definition at line 772 of file SymGroupRep.cc.

void CASM::SymGroupRep::calc_new_irreps ( const SymGroup sub_group,
int  max_iter = 1000 
) const
private

Definition at line 787 of file SymGroupRep.cc.

ReturnArray< Array< Eigen::MatrixXd > > CASM::SymGroupRep::calc_special_subspaces ( const SymGroup subgroup) const

Definition at line 568 of file SymGroupRep.cc.

multivector< Eigen::VectorXd >::X< 3 > CASM::SymGroupRep::calc_special_total_directions ( const SymGroup head_group) const

Returns array of orbits of high-symmetry directions in the vector space on which this representation is defined. defining: result = calc_special_directions(my_group) result[i][j] is a direction that is invariant to a subgroup of 'my_group' result[i][k] is a direction that is equivalent to result[i][j] For any result[i][j], -result[i][j] must also be a special direction, but the properties of the group determine whether it is in result[i] or in some other orbit result[l]. If, for a result[i][j], -result[i][j] is not among the special directions, it means that result[i][j] is a 1d irrep that is invariant to 'my_group' (the irreducible 'wedge' spans that entire axis). For a 2d irrep, the irreducible wedge must span <= one quadrant. For a 3d irrep, it must span <= one octant

Definition at line 415 of file SymGroupRep.cc.

SymOpRepresentation * const* CASM::Array< SymOpRepresentation * >::cbegin ( ) const
inlineinherited

Definition at line 189 of file Array.hh.

SymOpRepresentation * const* CASM::Array< SymOpRepresentation * >::cend ( ) const
inlineinherited

Definition at line 201 of file Array.hh.

void CASM::SymGroupRep::clear ( )

Definition at line 128 of file SymGroupRep.cc.

Index CASM::Array< SymOpRepresentation * >::coincidence ( const Array< SymOpRepresentation * > &  superset) const
inherited
bool CASM::Array< SymOpRepresentation * >::contains ( const SymOpRepresentation * &  test_elem) const
inlineinherited

Definition at line 281 of file Array.hh.

SymGroupRep CASM::SymGroupRep::coord_transformed_copy ( const Eigen::MatrixXd &  trans_mat) const

Make a copy of representation on vector space 'V' that is transformed into a representation on vector space 'W' 'trans_mat' is the unitary matrix that isomorphically maps 'V'->'W' (i.e., [w = trans_mat * v] and [v = trans_mat.transpose() * w] ) If the original representation to be transformed is just a temporary standalone SymGroupRep, be sure to delete it before falling out of scope

Definition at line 280 of file SymGroupRep.cc.

SymGroupRep* CASM::SymGroupRep::copy ( ) const
inline

Definition at line 83 of file SymGroupRep.hh.

SymOpRepresentation * const* CASM::Array< SymOpRepresentation * >::end ( ) const
inlineinherited

Definition at line 197 of file Array.hh.

SymOpRepresentation * * CASM::Array< SymOpRepresentation * >::end ( )
inlineinherited

Definition at line 204 of file Array.hh.

Index CASM::Array< SymOpRepresentation * >::find ( const SymOpRepresentation * &  test_elem) const
inherited
void CASM::SymGroupRep::from_json ( const jsonParser json)

This allocates a new object to 'at(i)'.

Definition at line 1490 of file SymGroupRep.cc.

SymGroupRepID CASM::SymGroupRep::get_ID ( ) const
inline

Definition at line 113 of file SymGroupRep.hh.

ReturnArray< SymGroupRepID > CASM::SymGroupRep::get_irrep_IDs ( const SymGroup subgroup) const

Definition at line 747 of file SymGroupRep.cc.

Eigen::MatrixXd CASM::SymGroupRep::get_irrep_trans_mat ( const SymGroup head_group) const

Finds the transformation matrix that block-diagonalizes this representation into irrep blocks The ROWS of trans_mat are the new basis vectors in terms of the old such that new_symrep_matrix = trans_mat * old_symrep_matrix * trans_mat.transpose();

Definition at line 1018 of file SymGroupRep.cc.

Eigen::MatrixXd CASM::SymGroupRep::get_irrep_trans_mat ( const SymGroup head_group,
std::vector< std::vector< Index > > &  subspaces 
) const

Finds the transformation matrix that block-diagonalizes this representation into irrep blocks The ROWS of trans_mat are the new basis vectors in terms of the old such that new_symrep_matrix = trans_mat * old_symrep_matrix * trans_mat.transpose(); Also populate 'subspaces' with lists of columns that form irreps

Definition at line 1029 of file SymGroupRep.cc.

Eigen::MatrixXd CASM::SymGroupRep::get_irrep_trans_mat_blind ( const SymGroup head_group) const

Definition at line 1157 of file SymGroupRep.cc.

Eigen::MatrixXd const * CASM::SymGroupRep::get_MatrixXd ( Index  i) const

Definition at line 253 of file SymGroupRep.cc.

Eigen::MatrixXd const * CASM::SymGroupRep::get_MatrixXd ( const SymOpRepresentation op) const

Definition at line 259 of file SymGroupRep.cc.

Permutation const * CASM::SymGroupRep::get_permutation ( Index  i) const

Definition at line 265 of file SymGroupRep.cc.

Permutation const * CASM::SymGroupRep::get_permutation ( const SymOpRepresentation op) const

Definition at line 271 of file SymGroupRep.cc.

ReturnArray< Eigen::MatrixXd > CASM::SymGroupRep::get_projection_operators ( ) const

Definition at line 1323 of file SymGroupRep.cc.

bool CASM::Array< SymOpRepresentation * >::has_fixed_points ( ) const
inherited

Checks whether any values are equal to their index – only valid for Array<Index>

bool CASM::SymGroupRep::has_valid_master ( ) const
inline

Definition at line 71 of file SymGroupRep.hh.

Index CASM::Array< SymOpRepresentation * >::incidences ( const SymOpRepresentation * &  test_elem) const
inherited
Array& CASM::Array< SymOpRepresentation * >::ipermute ( const Array< Index > &  perm_array)
inherited
std::vector< Eigen::MatrixXd > CASM::SymGroupRep::irreducible_wedges ( const SymGroup head_group,
std::vector< Index > &  multiplicities 
) const

Definition at line 442 of file SymGroupRep.cc.

bool CASM::Array< SymOpRepresentation * >::is_ascending ( ) const
inherited
bool CASM::Array< SymOpRepresentation * >::is_constant ( ) const
inherited
bool CASM::Array< SymOpRepresentation * >::is_descending ( ) const
inherited
bool CASM::SymGroupRep::is_irrep ( ) const

Definition at line 981 of file SymGroupRep.cc.

bool CASM::SymGroupRep::is_irrep ( const SymGroup head_group) const

Definition at line 998 of file SymGroupRep.cc.

bool CASM::Array< SymOpRepresentation * >::is_permute ( ) const
inherited

Checks that Array contains values from 0 to perm_array.size()-1 and that no value is repeated does not depend on definition of permutation convention

const MasterSymGroup& CASM::SymGroupRep::master_group ( ) const
inline

Definition at line 66 of file SymGroupRep.hh.

const SymOpRepresentation * & CASM::Array< SymOpRepresentation * >::max ( ) const
inherited
const SymOpRepresentation * & CASM::Array< SymOpRepresentation * >::min ( ) const
inherited
bool CASM::Array< SymOpRepresentation * >::next_permute ( )
inherited
Index CASM::SymGroupRep::num_blocks ( ) const

Definition at line 207 of file SymGroupRep.cc.

Index CASM::SymGroupRep::num_blocks ( const SymGroup subgroup) const

Definition at line 226 of file SymGroupRep.cc.

ReturnArray< Index > CASM::SymGroupRep::num_each_irrep ( ) const

Definition at line 695 of file SymGroupRep.cc.

ReturnArray< Index > CASM::SymGroupRep::num_each_irrep ( const SymGroup sub_group,
bool  verbose = false 
) const

Definition at line 706 of file SymGroupRep.cc.

ReturnArray< Index > CASM::SymGroupRep::num_each_real_irrep ( const SymGroup subgroup,
bool  verbose = false 
) const

Definition at line 668 of file SymGroupRep.cc.

bool CASM::Array< SymOpRepresentation * >::operator!= ( const Array< SymOpRepresentation * > &  RHS) const
inlineinherited

Definition at line 260 of file Array.hh.

bool CASM::Array< SymOpRepresentation * >::operator< ( const Array< SymOpRepresentation * > &  RHS) const
inherited
bool CASM::Array< SymOpRepresentation * >::operator<= ( const Array< SymOpRepresentation * > &  RHS) const
inlineinherited

Definition at line 265 of file Array.hh.

SymGroupRep & CASM::SymGroupRep::operator= ( const SymGroupRep RHS)

Definition at line 27 of file SymGroupRep.cc.

bool CASM::Array< SymOpRepresentation * >::operator== ( const Array< SymOpRepresentation * > &  RHS) const
inherited
bool CASM::Array< SymOpRepresentation * >::operator> ( const Array< SymOpRepresentation * > &  RHS) const
inherited
bool CASM::Array< SymOpRepresentation * >::operator>= ( const Array< SymOpRepresentation * > &  RHS) const
inlineinherited

Definition at line 268 of file Array.hh.

const SymOpRepresentation * & CASM::Array< SymOpRepresentation * >::operator[] ( Index  ind) const
inlineinherited

Definition at line 167 of file Array.hh.

SymOpRepresentation * & CASM::Array< SymOpRepresentation * >::operator[] ( Index  ind)
inlineinherited

Definition at line 172 of file Array.hh.

Array& CASM::Array< SymOpRepresentation * >::permute ( const Array< Index > &  perm_array)
inherited
void CASM::Array< SymOpRepresentation * >::pop_back ( )
inlineinherited

Definition at line 212 of file Array.hh.

void CASM::Array< SymOpRepresentation * >::print_column ( std::ostream &  stream,
const std::string &  indent = "" 
) const
inherited
void CASM::SymGroupRep::print_MatrixXd ( std::ostream &  stream) const

Definition at line 152 of file SymGroupRep.cc.

void CASM::SymGroupRep::print_MatrixXd ( std::ostream &  stream,
const SymGroup subgroup 
) const

Definition at line 167 of file SymGroupRep.cc.

void CASM::SymGroupRep::print_permutation ( std::ostream &  stream) const

Definition at line 138 of file SymGroupRep.cc.

void CASM::Array< SymOpRepresentation * >::push_back ( const SymOpRepresentation * &  toPush)
inherited
void CASM::SymGroupRep::push_back_copy ( const SymOpRepresentation _pushed)

Definition at line 244 of file SymGroupRep.cc.

void CASM::Array< SymOpRepresentation * >::remove ( Index  ind)
inherited
void CASM::Array< SymOpRepresentation * >::reserve ( Index  new_max)
inherited
void CASM::Array< SymOpRepresentation * >::resize ( Index  new_N)
inherited
void CASM::Array< SymOpRepresentation * >::resize ( Index  new_N,
const SymOpRepresentation * &  fill_val 
)
inherited
Index CASM::Array< SymOpRepresentation * >::reverse_find ( const SymOpRepresentation * &  test_elem) const
inherited

Same as find, but starts from the last element of the Array.

static ReturnArray<SymOpRepresentation * > CASM::Array< SymOpRepresentation * >::sequence ( const SymOpRepresentation * &  initial,
const SymOpRepresentation * &  final 
)
staticinherited

Returns an array with the sequence (initial, ++initial, ..., final), inclusive.

Returns an array with the sequence (initial, ++initial, ..., final), inclusive requires that operator<() and operator++() are defined on type T

static ReturnArray<SymOpRepresentation * > CASM::Array< SymOpRepresentation * >::sequence ( const SymOpRepresentation * &  initial,
const SymOpRepresentation * &  increment,
const SymOpRepresentation * &  final 
)
staticinherited

Returns an array with the sequence (initial, initial+increment, ..., final?), inclusive if final is in the sequence requires that operator<() and operator+=() are defined on type T

Returns an array with the sequence (initial, initial+increment, ..., final?), inclusive if final is in the sequence

void CASM::SymGroupRep::set_master_group ( const MasterSymGroup master,
const SymGroupRepID _rep_ID 
)

Definition at line 43 of file SymGroupRep.cc.

void CASM::SymGroupRep::set_rep ( const SymOpRepresentation base_rep,
const SymOpRepresentation new_rep 
) const

SPECIAL METHOD: const, but it modifies symop representation 'i', after performing appropriate checks. Do not refer to this as an example of how to write mutators. Critical Failure if symop representation 'i' is already initialized

Definition at line 82 of file SymGroupRep.cc.

void CASM::SymGroupRep::set_rep ( const SymOp base_rep,
const SymOpRepresentation new_rep 
) const

Definition at line 65 of file SymGroupRep.cc.

void CASM::SymGroupRep::set_rep ( Index  op_index,
const SymOpRepresentation new_rep 
) const

Definition at line 102 of file SymGroupRep.cc.

Index CASM::Array< SymOpRepresentation * >::size ( ) const
inlineinherited

Definition at line 145 of file Array.hh.

void CASM::Array< SymOpRepresentation * >::sort ( const CompareType &  comp)
inherited
void CASM::Array< SymOpRepresentation * >::sort ( Array< Index > &  ind_order)
inherited
void CASM::Array< SymOpRepresentation * >::sort ( )
inherited
ReturnArray<SymOpRepresentation * > CASM::Array< SymOpRepresentation * >::sub_array ( Index  ind_begin,
Index  ind_end 
) const
inherited
SymOpRepresentation * CASM::Array< SymOpRepresentation * >::sum ( ) const
inherited
void CASM::Array< SymOpRepresentation * >::swap ( Array< SymOpRepresentation * > &  RHS)
inherited
void CASM::Array< SymOpRepresentation * >::swap_elem ( Index  i,
Index  j 
)
inlineinherited

Definition at line 231 of file Array.hh.

SymGroupRep CASM::SymGroupRep::symmetry_adapted_copy ( const SymGroup head_group) const
inline

Make copy of (*this) that is transformed so that axes are oriented along high-symmetry direction and confined to subspaces that transform as irreps.

Definition at line 137 of file SymGroupRep.hh.

jsonParser & CASM::SymGroupRep::to_json ( jsonParser json) const

Definition at line 1347 of file SymGroupRep.cc.

Member Data Documentation

MasterSymGroup const* CASM::SymGroupRep::m_master_group
private

Pointer to the home_group that generated this SymGroupRep.

Definition at line 164 of file SymGroupRep.hh.

SymGroupRepID CASM::SymGroupRep::m_rep_ID
mutableprivate

rep_ID is unique identifier of a specific SymGroupRep instantiation

Definition at line 161 of file SymGroupRep.hh.


The documentation for this class was generated from the following files: