40 #ifndef _ispatest_lbeval_utils_hpp_
41 #define _ispatest_lbeval_utils_hpp_
48 #include <Epetra_CrsGraph.h>
49 #include <Epetra_CrsMatrix.h>
50 #include <Epetra_Vector.h>
51 #include <Epetra_LinearProblem.h>
99 double &min,
double &max,
double &avg);
108 double &myGoalWeight,
109 double &balance,
double &cutn,
double &cutl);
118 double &myGoalWeight,
119 double &balance,
double &cutn,
double &cutl);
138 double &myGoalWeight,
139 double &balance,
int &numCuts,
double &cutWgt,
double &cutn,
double &cutl);
158 double &myGoalWeight,
159 double &balance,
int &numCuts,
double &cutWgt,
double &cutn,
double &cutl);
165 void show_matrix(
const char *txt,
const Epetra_RowMatrix &matrix,
const Epetra_Comm &comm);
171 void show_matrix(
const char *txt,
const Epetra_CrsGraph &graph,
const Epetra_Comm &comm);
177 void show_matrix(
const char *txt,
const Epetra_LinearProblem &problem,
const Epetra_Comm &comm);
int compute_balance(const Epetra_Vector &wgts, double myGoalWeight, double &min, double &max, double &avg)
Given an Epetra_Vector of weights, compute the weight imbalance on each process.
int compute_hypergraph_metrics(const Epetra_CrsGraph &graph, Isorropia::Epetra::CostDescriber &costs, double &myGoalWeight, double &balance, double &cutn, double &cutl)
Compute Zoltan-style hypergraph metrics given a partitioned CrsGraph and a CostDescriber (weight) obj...
void show_matrix(const char *txt, const Epetra_RowMatrix &matrix, const Epetra_Comm &comm)
Print out a distributed RowMatrix.
Definition: Isorropia_EpetraCostDescriber.hpp:128
int compute_graph_metrics(const Epetra_RowMatrix &matrix, Isorropia::Epetra::CostDescriber &costs, double &myGoalWeight, double &balance, int &numCuts, double &cutWgt, double &cutn, double &cutl)
Compute graph metrics given an Epetra_RowMatrix.