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.