28#include "Tpetra_Map.hpp" 
   29#include "Tpetra_Import.hpp" 
   32#include "Teuchos_FancyOStream.hpp" 
   44template <
class MapType>
 
   47  using local_ordinal_type  = 
typename MapType::local_ordinal_type;
 
   48  using global_ordinal_type = 
typename MapType::global_ordinal_type;
 
   49  using node_type           = 
typename MapType::node_type;
 
   53  static Teuchos::RCP<const map_type>
 
   61    using Teuchos::ArrayView;
 
   62    using Teuchos::FancyOStream;
 
   63    using Teuchos::getFancyOStream;
 
   66    using Teuchos::rcpFromRef;
 
   67    using ::Tpetra::Details::Behavior;
 
   68    using LO            = local_ordinal_type;
 
   69    using GO            = global_ordinal_type;
 
   70    const char prefix[] = 
"Tpetra::Details::makeOptimizedColMap: ";
 
   79                               "outPtr is null; this should never happen!");
 
   85      std::ostringstream 
os;
 
   86      const int myRank = comm->getRank();
 
   88      verboseHeader = std::unique_ptr<std::string>(
new std::string(
os.str()));
 
   91      std::ostringstream 
os;
 
   97      std::ostringstream 
os;
 
  114      std::ostringstream 
os;
 
  117        const GO 
gid = colMap.getGlobalElement(
lid);
 
  140      std::ostringstream 
os;
 
  175      err << 
prefix << 
"On Process " << comm->getRank() << 
", ownedPos = " 
  183      err << 
prefix << 
"On Process " << comm->getRank() << 
", remotePos = " 
  207      err << 
prefix << 
"On Process " << comm->getRank() << 
", some indices " 
  208                                                           "in the input colMap (the original column Map) are not in domMap (the " 
  209                                                           "domain Map).  Either these indices or the domain Map is invalid.  " 
  210                                                           "Likely cause: For a nonsquare matrix, you must give the domain and " 
  211                                                           "range Maps as input to fillComplete." 
  225        err << 
prefix << 
"On Process " << comm->getRank() << 
", " 
  226                                                             "getRemoteIndexList returned -1 for the process ranks of " 
  227                                                             "one or more GIDs on this process." 
  233      std::ostringstream 
os;
 
  243      std::ostringstream 
os;
 
  253                                      colMap.getIndexBase(),
 
  256      std::ostringstream 
os;
 
  293  static std::pair<Teuchos::RCP<const map_type>,
 
  294                   Teuchos::RCP<import_type> >
 
 
  344template <
class MapType>
 
  345Teuchos::RCP<const MapType>
 
  351                        typename MapType::local_ordinal_type,
 
  352                        typename MapType::global_ordinal_type,
 
  353                        typename MapType::node_type>* 
oldImport = 
nullptr) {
 
  355      typename MapType::local_ordinal_type,
 
  356      typename MapType::global_ordinal_type,
 
  357      typename MapType::node_type>;
 
 
  420template <
class MapType>
 
  421std::pair<Teuchos::RCP<const MapType>,
 
  422          Teuchos::RCP<typename OptColMap<MapType>::import_type> >
 
  428  using local_ordinal_type  = 
typename MapType::local_ordinal_type;
 
  429  using global_ordinal_type = 
typename MapType::global_ordinal_type;
 
  430  using node_type           = 
typename MapType::node_type;
 
 
Declaration of Tpetra::Details::Behavior, a class that describes Tpetra's behavior.
 
Stand-alone utility functions and macros.
 
Struct that holds views of the contents of a CrsMatrix.
 
static bool verbose()
Whether Tpetra is in verbose mode.
 
Implementation detail of makeOptimizedColMap, and makeOptimizedColMapAndImport.
 
static std::pair< Teuchos::RCP< const map_type >, Teuchos::RCP< import_type > > makeOptColMapAndImport(std::ostream &errStream, bool &lclErr, const map_type &domMap, const map_type &colMap, const import_type *oldImport)
Return an optimized reordering of the given column Map. Optionally, recompute an Import from the inpu...
 
Communication plan for data redistribution from a uniquely-owned to a (possibly) multiply-owned distr...
 
A parallel distribution of indices over processes.
 
Implementation details of Tpetra.
 
std::pair< Teuchos::RCP< const MapType >, Teuchos::RCP< typename OptColMap< MapType >::import_type > > makeOptimizedColMapAndImport(std::ostream &errStream, bool &lclErr, const MapType &domMap, const MapType &colMap, const typename OptColMap< MapType >::import_type *oldImport=nullptr)
Return an optimized reordering of the given column Map. Optionally, recompute an Import from the inpu...
 
Teuchos::RCP< const MapType > makeOptimizedColMap(std::ostream &errStream, bool &lclErr, const MapType &domMap, const MapType &colMap, const Tpetra::Import< typename MapType::local_ordinal_type, typename MapType::global_ordinal_type, typename MapType::node_type > *oldImport=nullptr)
Return an optimized reordering of the given column Map.
 
Namespace Tpetra contains the class and methods constituting the Tpetra library.
 
void sort2(const IT1 &first1, const IT1 &last1, const IT2 &first2, const bool stableSort=false)
Sort the first array, and apply the resulting permutation to the second array.
 
LookupStatus
Return status of Map remote index lookup (getRemoteIndexList()).