CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
Functions | |
void | reduce_cost (Eigen::MatrixXd &cost_matrix, double _infinity) |
void | find_zeros (const Eigen::MatrixXd &cost_matrix, Eigen::MatrixXi &zero_marks, const double _tol) |
bool | check_assignment (const Eigen::MatrixXi &zero_marks, Eigen::VectorXi &col_covered) |
int | 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 | 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 | update_costs (const Eigen::VectorXi &row_covered, const Eigen::VectorXi &col_covered, const double min, Eigen::MatrixXd &cost_matrix) |
void | hungarian_method (const Eigen::MatrixXd &cost_matrix_arg, std::vector< Index > &optimal_assignment, const double _tol) |
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 | ||
) |
Definition at line 200 of file CASM_Eigen_math.cc.
bool CASM::HungarianMethod_impl::check_assignment | ( | const Eigen::MatrixXi & | zero_marks, |
Eigen::VectorXi & | col_covered | ||
) |
Definition at line 97 of file CASM_Eigen_math.cc.
void CASM::HungarianMethod_impl::find_zeros | ( | const Eigen::MatrixXd & | cost_matrix, |
Eigen::MatrixXi & | zero_marks, | ||
const double | _tol | ||
) |
Definition at line 65 of file CASM_Eigen_math.cc.
void CASM::HungarianMethod_impl::hungarian_method | ( | const Eigen::MatrixXd & | cost_matrix_arg, |
std::vector< Index > & | optimal_assignment, | ||
const double | _tol | ||
) |
Definition at line 328 of file CASM_Eigen_math.cc.
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 | ||
) |
Definition at line 117 of file CASM_Eigen_math.cc.
void CASM::HungarianMethod_impl::reduce_cost | ( | Eigen::MatrixXd & | cost_matrix, |
double | _infinity | ||
) |
Implement Hungarian algorithm to find optimal mapping given a cost matrix. Returns vector whose value at index l specifies the assignment of relaxed basis $value to POS basis $l.
Definition at line 49 of file CASM_Eigen_math.cc.
int CASM::HungarianMethod_impl::update_costs | ( | const Eigen::VectorXi & | row_covered, |
const Eigen::VectorXi & | col_covered, | ||
const double | min, | ||
Eigen::MatrixXd & | cost_matrix | ||
) |
Definition at line 291 of file CASM_Eigen_math.cc.