CASM
AClustersApproachtoStatisticalMechanics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules
LinearAlgebra.cc File Reference

Go to the source code of this file.

Namespaces

 CASM
 Main CASM namespace.
 

Functions

void CASM::get_Hermitian (Eigen::MatrixXcd &original_mat, Eigen::MatrixXcd &hermitian_mat, Eigen::MatrixXcd &antihermitian_mat)
 
bool CASM::is_Hermitian (Eigen::MatrixXcd &mat)
 
std::pair< Eigen::MatrixXi,
Eigen::MatrixXi > 
CASM::hermite_normal_form (const Eigen::MatrixXi &M)
 Return the hermite normal form, M == H*V. More...
 
double CASM::angle (const Eigen::Ref< const Eigen::Vector3d > &a, const Eigen::Ref< const Eigen::Vector3d > &b)
 Get angle, in radians, between two vectors on range [0,pi]. More...
 
double CASM::signed_angle (const Eigen::Ref< const Eigen::Vector3d > &a, const Eigen::Ref< const Eigen::Vector3d > &b, const Eigen::Ref< const Eigen::Vector3d > &pos_ref)
 signed angle, in radians, between -pi and pi that describe separation in direction of two vectors More...
 
Eigen::MatrixXd CASM::pretty (const Eigen::MatrixXd &M, double tol)
 Round entries that are within tol of being integer to that integer value. More...
 
std::vector< Eigen::Matrix3i > CASM::_unimodular_matrices (bool positive, bool negative)
 
const std::vector
< Eigen::Matrix3i > & 
CASM::positive_unimodular_matrices ()
 
const std::vector
< Eigen::Matrix3i > & 
CASM::negative_unimodular_matrices ()
 
const std::vector
< Eigen::Matrix3i > & 
CASM::unimodular_matrices ()