Here we describe the matching interface provided by Isorropia.  
More...
Here we describe the matching interface provided by Isorropia. 
Matching
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. 
- Parameters
 - 
  
    | [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. 
- Parameters
 - 
  
    | [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. 
- Parameters
 - 
  
    | [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. 
- Parameters
 - 
  
    | [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   | 
  
 
 
      
        
          | void Isorropia::Epetra::Matcher::getMatchedColumnsForRowsCopy  | 
          ( | 
          int  | 
          ,  | 
        
        
           | 
           | 
          int &  | 
          ,  | 
        
        
           | 
           | 
          int *  | 
            | 
        
        
           | 
          ) | 
           |  const | 
        
      
 
Copies the matched columns corresponding to each row in a user given array. 
- Parameters
 - 
  
    | [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. 
- Parameters
 - 
  
    | [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. 
 
 
      
        
          | int Isorropia::Epetra::Matcher::match  | 
          ( | 
           | ) | 
           | 
        
      
 
Provides the column map which is actually the complete column permutation. 
Computes the maximum cardinality matching.