Zoltan2 ordering metrics (EvaluateOrdering)
Created by: egboman
Zoltan2 needs a way to evaluate the quality of an ordering. This might best be done by a new class, EvaluateOrdering, similar to the existing class EvaluatePartition. It should take both the graph/matrix (perhaps as an InputAdapter) and an ordering solution.
The list of quality metrics is still under discussion but here is a tentative outline:
bandwidth(A) profile/envelope(A) nnz(L) flop(L)
where L is the Cholesky factor of A. The first two metrics are quick and easy to compute, while the latter require a symbolic Cholesky factorization. There might be code we could use for that but it is currently not in Zoltan2.
Additionally, for nested dissection type ordering we should compute
separator size (top level, sum over all levels) elimination tree height (average, max)