17 #ifndef MUELU_ALGEBRAICPERMUTATIONSTRATEGY_DECL_HPP_
18 #define MUELU_ALGEBRAICPERMUTATIONSTRATEGY_DECL_HPP_
35 template <
class Scalar = DefaultScalar,
class LocalOrdinal = DefaultGlobalOrdinal>
47 template <
class Scalar,
class LocalOrdinal>
53 template <
class Scalar,
class LocalOrdinal>
55 size_t size = values.size();
58 for (
size_t i = 0; i < size; ++i)
61 std::sort(v.begin(), v.end(), MueLu::CreateCmpPairs<Scalar, LocalOrdinal>(values));
76 #undef MUELU_ALGEBRAICPERMUTATIONSTRATEGY_SHORT
104 Level& currentLevel,
const FactoryBase* genFactory)
const;
113 #define MUELU_ALGEBRAICPERMUTATIONSTRATEGY_SHORT
void BuildPermutation(const Teuchos::RCP< Matrix > &A, const Teuchos::RCP< const Map > &permRowMap, Level ¤tLevel, const FactoryBase *genFactory) const
build permutation operators
MueLu::DefaultLocalOrdinal LocalOrdinal
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
std::vector< Scalar > vinternal_
void sortingPermutation(const std::vector< Scalar > &values, std::vector< LocalOrdinal > &v)
bool operator()(LocalOrdinal a, LocalOrdinal b)
MueLu::DefaultScalar Scalar
Tpetra::Details::DefaultTypes::scalar_type DefaultScalar
MueLu::DefaultGlobalOrdinal GlobalOrdinal
CompPairs(const std::vector< Scalar > &v)
Class which defines local permutations of matrix columns.
static magnitudeType magnitude(T a)
CompPairs< Scalar, LocalOrdinal > CreateCmpPairs(const std::vector< Scalar > &v)