36 std::vector<std::vector<MatchingType>>
38 std::vector<std::vector<MatchingType>>
40 std::vector<std::vector<MatchingType>>
45 double previous_min_persistence,
46 double min_persistence,
47 std::vector<double> &initial_diagonal_prices,
48 std::vector<double> &initial_off_diagonal_prices,
49 int min_points_to_add,
50 bool add_points_to_barycenter =
true);
58 = std::pair<typename KDT::KDTreeRoot, typename KDT::KDTreeMap>;
63 std::vector<int> &sizes,
65 std::vector<KDT *> &correspondence_kdt_map,
66 std::vector<double> *min_diag_price,
67 std::vector<double> *min_price,
68 std::vector<std::vector<MatchingType>> *all_matchings,
70 bool actual_distance);
74 std::vector<int> &sizes,
76 std::vector<KDT *> &correspondence_kdt_map,
77 std::vector<double> *min_diag_price,
78 std::vector<std::vector<MatchingType>> *all_matchings,
80 bool actual_distance);
87 std::vector<std::vector<MatchingType>> &matchings,
88 std::vector<std::vector<MatchingType>> &previous_matchings);
90 std::vector<std::vector<MatchingType>> &previous_matchings);
95 double getRho(
double epsilon);
107 }
else if(method == 2) {
Minimalist debugging class.
void setDebugMsgPrefix(const std::string &prefix)
std::vector< std::vector< MatchingType > > executeAuctionBarycenter(DiagramType &barycenter)
std::vector< GoodDiagram > & getCurrentBarycenter()
std::vector< std::vector< MatchingType > > executePartialBiddingBarycenter(DiagramType &barycenter)
std::vector< double > precision_
bool is_matching_stable()
void setEarlyStoppage(const bool early_stoppage)
~PDBarycenter() override=default
void setGeometricalFactor(const double geometrical_factor)
double getEpsilon(double rho)
int setDiagrams(std::vector< DiagramType > *data)
void runMatching(double *total_cost, double epsilon, std::vector< int > &sizes, KDT &kdt, std::vector< KDT * > &correspondence_kdt_map, std::vector< double > *min_diag_price, std::vector< double > *min_price, std::vector< std::vector< MatchingType > > *all_matchings, bool use_kdt, bool actual_distance)
std::pair< typename KDT::KDTreeRoot, typename KDT::KDTreeMap > KDTreePair
std::vector< std::vector< double > > all_old_matchings_
void setCurrentBarycenter(std::vector< GoodDiagram > &barycenters)
std::vector< GoodDiagram > barycenter_goods_
void setWasserstein(const int &wasserstein)
void setEpsilonDecreases(const bool epsilon_decreases)
void setDeltaLim(double delta_lim)
double getRho(double epsilon)
std::vector< BidderDiagram > current_bidder_diagrams_
void setCurrentBidders(std::vector< BidderDiagram > &diagrams)
double updateBarycenter(std::vector< std::vector< MatchingType > > &matchings)
void setInitialBarycenter(double min_persistence)
bool isPrecisionObjectiveMet(double, int)
void setDiagramType(const int &diagramType)
std::vector< BidderDiagram > bidder_diagrams_
std::vector< DiagramType > * inputDiagrams_
void setUseProgressive(const bool use_progressive)
void setNonMatchingWeight(double nonMatchingWeight)
void setMethod(const int &method)
KDTreePair getKDTree() const
void setReinitPrices(const bool reinit_prices)
std::vector< std::vector< MatchingType > > correctMatchings(std::vector< std::vector< MatchingType > > &previous_matchings)
double nonMatchingWeight_
void runMatchingAuction(double *total_cost, std::vector< int > &sizes, KDT &kdt, std::vector< KDT * > &correspondence_kdt_map, std::vector< double > *min_diag_price, std::vector< std::vector< MatchingType > > *all_matchings, bool use_kdt, bool actual_distance)
int setNumberOfInputs(int numberOfInputs)
double getMaxPersistence()
void setDeterministic(const bool deterministic)
std::vector< std::vector< double > > all_matchings_
double getMinimalPrice(int i)
double getLowestPersistence()
std::vector< std::vector< MatchingType > > execute(DiagramType &barycenter)
void setLambda(const double lambda)
std::vector< BidderDiagram > & getCurrentBidders()
bool hasBarycenterConverged(std::vector< std::vector< MatchingType > > &matchings, std::vector< std::vector< MatchingType > > &previous_matchings)
std::vector< std::vector< int > > current_bidder_ids_
double geometrical_factor_
std::vector< std::vector< MatchingType > > executeMunkresBarycenter(DiagramType &barycenter)
double enrichCurrentBidderDiagrams(double previous_min_persistence, double min_persistence, std::vector< double > &initial_diagonal_prices, std::vector< double > &initial_off_diagonal_prices, int min_points_to_add, bool add_points_to_barycenter=true)
CriticalType
default value for critical index
std::vector< PersistencePair > DiagramType
Persistence Diagram type as a vector of Persistence pairs.