9 #ifndef METIS_SUPPORT_H
10 #define METIS_SUPPORT_H
24 template <
typename StorageIndex>
30 template <
typename MatrixType>
40 for (StorageIndex
j = 0;
j <
m;
j++) {
44 for (
typename MatrixType::InnerIterator it(
A,
j); it; ++it) {
45 Index idx = it.index();
46 if (visited(idx) !=
j) {
52 for (
typename MatrixType::InnerIterator it(At,
j); it; ++it) {
53 Index idx = it.index();
54 if (visited(idx) !=
j) {
66 StorageIndex CurNz = 0;
67 for (StorageIndex
j = 0;
j <
m;
j++) {
72 for (
typename MatrixType::InnerIterator it(
A,
j); it; ++it) {
73 StorageIndex idx = it.index();
74 if (visited(idx) !=
j) {
81 for (
typename MatrixType::InnerIterator it(At,
j); it; ++it) {
82 StorageIndex idx = it.index();
83 if (visited(idx) !=
j) {
93 template <
typename MatrixType>
95 StorageIndex
m = internal::convert_index<StorageIndex>(
105 if (output_error != METIS_OK) {
107 std::cerr <<
"ERROR WHILE CALLING THE METIS PACKAGE \n";
#define eigen_assert(x)
Definition: Macros.h:910
MatrixXf MatrixType
Definition: benchmark-blocking-sizes.cpp:52
Definition: MetisSupport.h:25
Matrix< StorageIndex, Dynamic, 1 > IndexVector
Definition: MetisSupport.h:28
void operator()(const MatrixType &A, PermutationType &matperm)
Definition: MetisSupport.h:94
IndexVector m_indexPtr
Definition: MetisSupport.h:120
void get_symmetrized_graph(const MatrixType &A)
Definition: MetisSupport.h:31
IndexVector m_innerIndices
Definition: MetisSupport.h:121
PermutationMatrix< Dynamic, Dynamic, StorageIndex > PermutationType
Definition: MetisSupport.h:27
void resize(Index newSize)
Definition: PermutationMatrix.h:119
const IndicesType & indices() const
Definition: PermutationMatrix.h:334
constexpr EIGEN_DEVICE_FUNC const Scalar * data() const
Definition: PlainObjectBase.h:273
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE EIGEN_CONSTEXPR Index cols() const EIGEN_NOEXCEPT
Definition: PlainObjectBase.h:192
EIGEN_DEVICE_FUNC Derived & setConstant(Index size, const Scalar &val)
Definition: CwiseNullaryOp.h:365
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void resize(Index rows, Index cols)
Definition: PlainObjectBase.h:294
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE EIGEN_CONSTEXPR Index rows() const EIGEN_NOEXCEPT
Definition: PlainObjectBase.h:191
int * m
Definition: level2_cplx_impl.h:294
Namespace containing all symbols from the Eigen library.
Definition: bench_norm.cpp:70
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:83
void METIS_NodeND(int *, idxtype *, idxtype *, int *, int *, idxtype *, idxtype *)
std::ptrdiff_t j
Definition: tut_arithmetic_redux_minmax.cpp:2