|
Isorropia: Partitioning, Load Balancing and more
|
Here we describe the matching interface provided by Isorropia. More...
Classes | |
| class | Isorropia::Epetra::Matcher |
| An implementation of the Matcher interface that operates on Epetra matrices and Graphs. More... | |
Functions | |
| Isorropia::Epetra::Matcher::Matcher (const Epetra_CrsMatrix *, const Teuchos::ParameterList ¶mlist=Teuchos::ParameterList("EmptyParameterList")) | |
| Constructor. | |
| Isorropia::Epetra::Matcher::Matcher (Teuchos::RCP< const Epetra_CrsMatrix >, const Teuchos::ParameterList ¶mlist=Teuchos::ParameterList("EmptyParameterList")) | |
| Constructor. | |
| Isorropia::Epetra::Matcher::Matcher (const Epetra_CrsGraph *, const Teuchos::ParameterList ¶mlist=Teuchos::ParameterList("EmptyParameterList")) | |
| Constructor. | |
| Isorropia::Epetra::Matcher::Matcher (Teuchos::RCP< const Epetra_CrsGraph >, const Teuchos::ParameterList ¶mlist=Teuchos::ParameterList("EmptyParameterList")) | |
| Constructor. | |
| virtual | Isorropia::Epetra::Matcher::~Matcher () |
| Destructor. | |
| void | Isorropia::Epetra::Matcher::getMatchedColumnsForRowsCopy (int, int &, int *) const |
| Copies the matched columns corresponding to each row in a user given array. | |
| void | Isorropia::Epetra::Matcher::getMatchedRowsForColumnsCopy (int, int &, int *) const |
| Copies the matched rows corresponding to each column in a user given array. | |
| Teuchos::RCP< Epetra_CrsMatrix > | Isorropia::Epetra::Matcher::applyRowPermutation () |
| Applies the row permutation from matching and returns a new matrix. | |
| Teuchos::RCP< Epetra_CrsMatrix > | Isorropia::Epetra::Matcher::applyColumnPermutation () |
| Applies the column permutation from matching and returns a new matrix. | |
| int | Isorropia::Epetra::Matcher::match () |
| Provides the column map which is actually the complete column permutation. | |
Here we describe the matching interface provided by Isorropia.
Isorropia currently supports maximum-cardinality matching, also known as maximum transversal. This may be used to permute a matrix to get a zero-free diagonal. This code uses shared-memory parallelism and requires OpenMP. An MPI version is planned for a future version.
| Isorropia::Epetra::Matcher::Matcher | ( | const Epetra_CrsMatrix * | , |
| const Teuchos::ParameterList & | paramlist = Teuchos::ParameterList("EmptyParameterList") |
||
| ) |
Constructor.
| [in] | Epetra_CRSMatrix* | compressed row matrix |
| [in] | paramlist | this parameter list is used to select the algorithm. The input is a string. "PHK","PHKDW", "PDFS" and "PPF" for parallel Hopcroft-Karp, parallel Hopcroft-Karp with Duff-Wiberg , parallel DFS and parallel Pothen-Fan respectively. The default is the "PHKDW". |
| Isorropia::Epetra::Matcher::Matcher | ( | Teuchos::RCP< const Epetra_CrsMatrix > | , |
| const Teuchos::ParameterList & | paramlist = Teuchos::ParameterList("EmptyParameterList") |
||
| ) |
Constructor.
| [in] | RCP | of the CrsMatrix |
| [in] | paramlist | this parameter list is used to select the algorithm. The input is a string. "PHK","PHKDW", "PDFS" and "PPF" for parallel Hopcroft-Karp, parallel Hopcroft-Karp with Duff-Wiberg , parallel DFS and parallel Pothen-Fan respectively. The default is the "PHKDW". |
| Isorropia::Epetra::Matcher::Matcher | ( | const Epetra_CrsGraph * | , |
| const Teuchos::ParameterList & | paramlist = Teuchos::ParameterList("EmptyParameterList") |
||
| ) |
Constructor.
| [in] | Pointer | to the Epetra_CrsGraph |
| [in] | paramlist | this parameter list is used to select the algorithm. The input is a string. "PHK","PHKDW", "PDFS" and "PPF" for parallel Hopcroft-Karp, parallel Hopcroft-Karp with Duff-Wiberg , parallel DFS and parallel Pothen-Fan respectively. The default is the "PHKDW". |
| Isorropia::Epetra::Matcher::Matcher | ( | Teuchos::RCP< const Epetra_CrsGraph > | , |
| const Teuchos::ParameterList & | paramlist = Teuchos::ParameterList("EmptyParameterList") |
||
| ) |
Constructor.
| [in] | RCP | of the Epetra_CrsGraph |
| [in] | paramlist | this parameter list is used to select the algorithm. The input is a string. "PHK","PHKDW", "PDFS" and "PPF" for parallel Hopcroft-Karp, parallel Hopcroft-Karp with Duff-Wiberg , parallel DFS and parallel Pothen-Fan respectively. The default is the "PHKDW". |
| virtual Isorropia::Epetra::Matcher::~Matcher | ( | ) | [virtual] |
Destructor.
| void Isorropia::Epetra::Matcher::getMatchedColumnsForRowsCopy | ( | int | , |
| int & | , | ||
| int * | |||
| ) | const |
Copies the matched columns corresponding to each row in a user given array.
| [in] | The | length of the array provided by the user |
| [out] | The | amount of data copied into the array |
| in/out] | The user array |
| void Isorropia::Epetra::Matcher::getMatchedRowsForColumnsCopy | ( | int | , |
| int & | , | ||
| int * | |||
| ) | const |
Copies the matched rows corresponding to each column in a user given array.
| [in] | The | length of the array provided by the user |
| [out] | The | amount of data copied into the array |
| in/out] | The user array |
| Teuchos::RCP<Epetra_CrsMatrix> Isorropia::Epetra::Matcher::applyRowPermutation | ( | ) |
Applies the row permutation from matching and returns a new matrix.
| Teuchos::RCP<Epetra_CrsMatrix> Isorropia::Epetra::Matcher::applyColumnPermutation | ( | ) |
Applies the column permutation from matching and returns a new matrix.
Provides the column map which is actually the complete column permutation.
Computes the maximum cardinality matching.