|
Isorropia: Partitioning, Load Balancing and more
|
#include <Isorropia_EpetraMatcher.hpp>
Public Member Functions | |
| Matcher (const Epetra_CrsMatrix *, const Teuchos::ParameterList ¶mlist=Teuchos::ParameterList("EmptyParameterList")) | |
| Matcher (Teuchos::RCP< const Epetra_CrsMatrix >, const Teuchos::ParameterList ¶mlist=Teuchos::ParameterList("EmptyParameterList")) | |
| Matcher (const Epetra_CrsGraph *, const Teuchos::ParameterList ¶mlist=Teuchos::ParameterList("EmptyParameterList")) | |
| Matcher (Teuchos::RCP< const Epetra_CrsGraph >, const Teuchos::ParameterList ¶mlist=Teuchos::ParameterList("EmptyParameterList")) | |
| virtual | ~Matcher () |
| void | getMatchedColumnsForRowsCopy (int, int &, int *) const |
| void | getMatchedRowsForColumnsCopy (int, int &, int *) const |
| int | getNumberOfMatchedVertices () |
| Teuchos::RCP< Epetra_CrsMatrix > | applyRowPermutation () |
| Teuchos::RCP< Epetra_CrsMatrix > | applyColumnPermutation () |
| int | match () |
Private Member Functions | |
| void | delete_matched_v () |
| void | complete_nonperfect_permutation () |
| int | SGM () |
| int | match_dfs () |
| int | match_hk () |
| int | construct_layered_graph () |
| int | find_set_del_M () |
| int | recursive_path_finder (int, int) |
| int | dfs_path_finder (int) |
| int | dfs_augment () |
| int | augment_matching (int) |
| int | DW_phase () |
Private Attributes | |
| int * | mateU_ |
| int * | mateV_ |
| int * | Queue_ |
| int * | LV_ |
| int * | LU_ |
| int * | unmatchedU_ |
| int * | parent_ |
| int * | lookahead_ |
| int * | CRS_pointers_ |
| int * | CRS_indices_ |
| double * | CRS_vals_ |
| bool | finish_ |
| int | U_ |
| int | V_ |
| int | E_ |
| int | avgDegU_ |
| int | k_star_ |
| int | icm_ |
| int | BFSInd_ |
| int | numThread_ |
| int | Qst_ |
| int | Qend_ |
| int | matched_ |
| int | choice_ |
| const Epetra_CrsMatrix * | A_ |
An implementation of the Matcher interface that operates on Epetra matrices and Graphs.
One of the use of Maximum Cardinality Matching is that it provides nonzero diagonal for the sparse matrices. This multithreaded version of the matching algorithms provides an interface to solve the Bipartite Matching problem as well as it also provides permutation to get zero free diagonal for input sparse matrices.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
| int Isorropia::Epetra::Matcher::getNumberOfMatchedVertices | ( | ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |