CASM  1.1.0
A Clusters Approach to Statistical Mechanics
SymMatrixXd.hh
Go to the documentation of this file.
1 #ifndef SYMMATRIXXD_HH
2 #define SYMMATRIXXD_HH
3 
4 #include <cmath>
5 #include <iostream>
6 
7 #include "casm/external/Eigen/Dense"
9 
10 namespace CASM {
11 namespace xtal {
12 class Lattice;
13 }
14 using xtal::Lattice;
15 
16 class MasterSymGroup;
17 
27  private:
29 
30  public:
31  SymMatrixXd(const Eigen::MatrixXd &init_mat) : mat(init_mat){};
32 
33  SymOpRepresentation *copy() const override { return new SymMatrixXd(*this); }
34 
35  Eigen::MatrixXd const *MatrixXd() const override { return &mat; }
36 
37  double character() const override { return mat.trace(); }
38 };
39 
41 } // namespace CASM
42 #endif
Generalized symmetry matrix representation for arbitrary dimension Can be used to describe applicatio...
Definition: SymMatrixXd.hh:26
double character() const override
Calculates character of the representation (if well-defined)
Definition: SymMatrixXd.hh:37
Eigen::MatrixXd const * MatrixXd() const override
Definition: SymMatrixXd.hh:35
Eigen::MatrixXd mat
Definition: SymMatrixXd.hh:28
SymMatrixXd(const Eigen::MatrixXd &init_mat)
Definition: SymMatrixXd.hh:31
SymOpRepresentation * copy() const override
Make copy of Derived object through Base-class interface.
Definition: SymMatrixXd.hh:33
SymOpRepresentation is the base class for anything describes a symmetry operation.
Main CASM namespace.
Definition: APICommand.hh:8
Eigen::MatrixXd MatrixXd