namespace aux¶
Overview¶
namespace aux {
// structs
struct AtomSignature;
struct InverseDistanceCache;
// classes
class AuxiliaryFunctionality;
class Distance;
class Gradient;
class ProblemSetUp;
// global functions
std::pair<gpr::Coord, gpr::FieldMatrixIdx> get_canonical_configuration(const gpr::Coord& x_in, const gpr::FieldMatrixIdx& types_in);
double solve_assignment_problem(const Eigen::MatrixXd& cost_matrix);
double calculate_aligned_rmsd(const gpr::Coord& P, const gpr::Coord& Q);
} // namespace aux
Detailed Documentation¶
Global Functions¶
double solve_assignment_problem(const Eigen::MatrixXd& cost_matrix)
Solves the assignment problem using the Hungarian algorithm.
Given a cost matrix, this function finds the minimum cost assignment of workers to jobs, which is equivalent to finding the minimum total distance when pairing atoms of the same type.
Parameters:
cost_matrix |
A square matrix where cost_matrix(i, j) is the cost of assigning worker i to job j. |
Returns:
The minimum total cost of the optimal assignment.