CASM
AClustersApproachtoStatisticalMechanics
|
#include "casm/misc/CASM_math.hh"
Go to the source code of this file.
Namespaces | |
CASM | |
Main CASM namespace. | |
CASM::HungarianMethod_impl | |
Functions | |
int | CASM::round (double val) |
double | CASM::ran0 (int &idum) |
int | CASM::dl_string_dist (const std::string &a, const std::string &b) |
Computes the Damerescau-Levenshtein distance – the number of edits (deletions, insertions, transpositions) to go from string 'a' to string 'b'. More... | |
int | CASM::gcf (int i1, int i2) |
Find greatest common factor. More... | |
int | CASM::lcm (int i1, int i2) |
Find least common multiple. More... | |
Eigen::VectorXd | CASM::eigen_vector_from_string (const std::string &tstr, const int &size) |
double | CASM::gaussian (double a, double x, double b, double c) |
double | CASM::gaussian_moment (int expon, double sigma) |
double | CASM::gaussian_moment (int expon, double sigma, double x0) |
void | CASM::nearest_rational_number (double val, long &numerator, long &denominator, double tol=TOL) |
std::string | CASM::irrational_to_tex_string (double val, int lim, int max_pow=2) |
int | CASM::mod (int a, int b) |
double | CASM::cuberoot (double number) |
void | CASM::poly_fit (Eigen::VectorXcd &xvec, Eigen::VectorXcd &yvec, Eigen::VectorXcd &coeffs, int degree) |
Index | CASM::which_unique_combination (const Array< Index > &input, const Array< Array< Index > > &unique, const Array< Array< Index > > &ind_equiv) |
Index | CASM::which_unique_combination (const Array< Index > &input, const Array< Array< Index > > &unique) |
int | CASM::lcm (const Array< int > &series) |
Find least common multiple. More... | |
ReturnArray< Array< int > > | CASM::get_prime_factors (int target) |
double | CASM::hungarian_method (const Eigen::MatrixXd &cost_matrix, std::vector< Index > &optimal_assignments, const double _tol) |
void | CASM::HungarianMethod_impl::reduce_cost (Eigen::MatrixXd &cost_matrix, double _infinity) |
void | CASM::HungarianMethod_impl::find_zeros (const Eigen::MatrixXd &cost_matrix, Eigen::MatrixXi &zero_marks, const double _tol) |
bool | CASM::HungarianMethod_impl::check_assignment (const Eigen::MatrixXi &zero_marks, Eigen::VectorXi &col_covered) |
int | CASM::HungarianMethod_impl::prime_zeros (const Eigen::MatrixXd &cost_matrix, Eigen::VectorXi &row_covered, Eigen::VectorXi &col_covered, Eigen::MatrixXi &zero_marks, double &min, Eigen::VectorXi &first_prime_zero, const double _tol, const double _infinity) |
int | CASM::HungarianMethod_impl::alternating_path (const Eigen::MatrixXd &cost_matrix, const Eigen::VectorXi &first_prime_zero, Eigen::MatrixXi &zero_marks, Eigen::VectorXi &row_covered, Eigen::VectorXi &col_covered) |
int | CASM::HungarianMethod_impl::update_costs (const Eigen::VectorXi &row_covered, const Eigen::VectorXi &col_covered, const double min, Eigen::MatrixXd &cost_matrix) |
void | CASM::HungarianMethod_impl::hungarian_method (const Eigen::MatrixXd &cost_matrix_arg, std::vector< Index > &optimal_assignments, const double _tol) |