CASM  1.1.0
A Clusters Approach to Statistical Mechanics
Eigen Namespace Reference

Typedefs

typedef Matrix< long int, 3, 3 > Matrix3l
 
typedef Matrix< long int, 3, 1 > Vector3l
 
typedef Matrix< long int, Dynamic, Dynamic > MatrixXl
 
typedef Matrix< long int, Dynamic, 1 > VectorXl
 

Functions

template<typename Derived >
CASM::DataStreamoperator<< (CASM::DataStream &_stream, const MatrixBase< Derived > &value)
 
template<typename Derived >
std::istream & operator>> (std::istream &s, MatrixBase< Derived > &m)
 
template<typename Derived >
bool almost_zero (const MatrixBase< Derived > &val, double tol=CASM::TOL)
 Round Eigen::MatrixXd. More...
 
template<typename Derived >
double length (const Eigen::MatrixBase< Derived > &value)
 
template<typename Derived >
Eigen::Matrix< int, Derived::RowsAtCompileTime, Derived::ColsAtCompileTime > scale_to_int (const Eigen::MatrixBase< Derived > &val, double _tol=CASM::TOL)
 
template<typename Derived1 , typename Derived2 >
bool almost_equal (const Eigen::MatrixBase< Derived1 > &val1, const Eigen::MatrixBase< Derived2 > &val2, double tol=CASM::TOL)
 
template<typename Derived >
bool is_symmetric (const Eigen::MatrixBase< Derived > &test_mat, double test_tol=CASM::TOL)
 
template<typename Derived >
bool is_persymmetric (const Eigen::MatrixBase< Derived > &test_mat, double test_tol=CASM::TOL)
 
template<typename Derived >
bool is_bisymmetric (const Eigen::MatrixBase< Derived > &test_mat, double test_tol=CASM::TOL)
 
template<typename Derived >
std::vector< CASM::Indexpartition_distinct_values (const Eigen::MatrixBase< Derived > &value, double tol=CASM::TOL)
 
template<typename Derived , typename Index = typename Derived::Index>
Index print_matrix_width (std::ostream &s, const Derived &m, Index width)
 
template<typename Derived >
Derived::PlainObject representation_prepare_impl (Eigen::MatrixBase< Derived > const &obj, double _tol)
 Prepare an element for comparison. More...
 

Typedef Documentation

◆ Matrix3l

typedef Matrix<long int, 3, 3> Eigen::Matrix3l

Definition at line 12 of file eigen.hh.

◆ MatrixXl

typedef Matrix<long int, Dynamic, Dynamic> Eigen::MatrixXl

Definition at line 14 of file eigen.hh.

◆ Vector3l

typedef Matrix<long int, 3, 1> Eigen::Vector3l

Definition at line 13 of file eigen.hh.

◆ VectorXl

typedef Matrix<long int, Dynamic, 1> Eigen::VectorXl

Definition at line 15 of file eigen.hh.

Function Documentation

◆ almost_equal()

template<typename Derived1 , typename Derived2 >
bool Eigen::almost_equal ( const Eigen::MatrixBase< Derived1 > &  val1,
const Eigen::MatrixBase< Derived2 > &  val2,
double  tol = CASM::TOL 
)
inline

Definition at line 653 of file CASM_Eigen_math.hh.

◆ almost_zero()

template<typename Derived >
bool Eigen::almost_zero ( const MatrixBase< Derived > &  val,
double  tol = CASM::TOL 
)

Round Eigen::MatrixXd.

Returns
an Eigen:MatrixXd
Parameters
MEigen::MatrixXd to be rounded

For each coefficient, sets

M(i,j) = boost::math::floor(Mdouble(i, j))

Equivalent to almost_zero(double(val.norm()), tol);

Definition at line 564 of file CASM_Eigen_math.hh.

◆ is_bisymmetric()

template<typename Derived >
bool Eigen::is_bisymmetric ( const Eigen::MatrixBase< Derived > &  test_mat,
double  test_tol = CASM::TOL 
)
inline

Checks to see if the given matrix is bisymmetric, i.e. whether it's symmetric along both diagonals. Only works for square matrices n x n. (Reflected along 0,n to n,0 AND 0,0 to n,n)

Definition at line 695 of file CASM_Eigen_math.hh.

◆ is_persymmetric()

template<typename Derived >
bool Eigen::is_persymmetric ( const Eigen::MatrixBase< Derived > &  test_mat,
double  test_tol = CASM::TOL 
)
inline

Checks to see if the given matrix is persymmetric, i.e. whether it's symmetric along the cross diagonal. Only works for square matrices n x n. (Reflected along 0,n to n,0)

Definition at line 680 of file CASM_Eigen_math.hh.

◆ is_symmetric()

template<typename Derived >
bool Eigen::is_symmetric ( const Eigen::MatrixBase< Derived > &  test_mat,
double  test_tol = CASM::TOL 
)
inline

Checks to see whether the given matrix is symmetric by checking if its transpose is equal to itself. Only works for square matrices n x n. (Reflected along 0,0 to n,n)

Definition at line 667 of file CASM_Eigen_math.hh.

◆ length()

template<typename Derived >
double Eigen::length ( const Eigen::MatrixBase< Derived > &  value)

Definition at line 569 of file CASM_Eigen_math.hh.

◆ operator<<()

template<typename Derived >
CASM::DataStream& Eigen::operator<< ( CASM::DataStream _stream,
const MatrixBase< Derived > &  value 
)

Definition at line 328 of file DataStream.hh.

◆ operator>>()

template<typename Derived >
std::istream& Eigen::operator>> ( std::istream &  s,
MatrixBase< Derived > &  m 
)

Definition at line 18 of file eigen.hh.

◆ partition_distinct_values()

template<typename Derived >
std::vector<CASM::Index> Eigen::partition_distinct_values ( const Eigen::MatrixBase< Derived > &  value,
double  tol = CASM::TOL 
)

Definition at line 702 of file CASM_Eigen_math.hh.

◆ print_matrix_width()

template<typename Derived , typename Index = typename Derived::Index>
Index Eigen::print_matrix_width ( std::ostream &  s,
const Derived &  m,
Index  width 
)

Definition at line 717 of file CASM_Eigen_math.hh.

◆ representation_prepare_impl()

template<typename Derived >
Derived::PlainObject Eigen::representation_prepare_impl ( Eigen::MatrixBase< Derived > const &  obj,
double  _tol 
)

Prepare an element for comparison.

  • Attempts to find a sparse set of spanning vectors, and sort them so that subspace matrix is nearly upper triangular (if possible)
  • Also enures that first nonzero element of each row (if there is one) is positive

Definition at line 17 of file VectorSymCompare_impl.hh.

◆ scale_to_int()

template<typename Derived >
Eigen::Matrix<int, Derived::RowsAtCompileTime, Derived::ColsAtCompileTime> Eigen::scale_to_int ( const Eigen::MatrixBase< Derived > &  val,
double  _tol = CASM::TOL 
)

Take a vector of doubles, and multiply by some factor that turns it into a vector of integers (within a tolerance)

Definition at line 578 of file CASM_Eigen_math.hh.