23#include <Eigen/SparseCore>
34template <
typename StorageIndex>
57 template <base::concepts::sparse_matrix MatrixType>
64 index = size_minus_one - index;
76 template <
typename MatrixType,
unsigned int Mode>
78 const Eigen::SparseSelfAdjointView<MatrixType, Mode>& matrix,
80 Eigen::SparseMatrix<
typename MatrixType::Scalar, Eigen::ColMajor,
82 matrix_as_ordinary_matrix = matrix;
83 operator()(matrix_as_ordinary_matrix, permutation);
Class to perform Cuthill-McKee ordering method golub2013, knabner2003.
Class to perform reverse Cuthill-McKee ordering method golub2013, knabner2003.
void operator()(const MatrixType &matrix, permutation_type &permutation)
Create a permutation matrix.
Eigen::PermutationMatrix< Eigen::Dynamic, Eigen::Dynamic, storage_index_type > permutation_type
Type of permutations.
StorageIndex storage_index_type
Type of indices in storages of indices.
permutation_type PermutationType
Type of permutations (for Eigen library).
reverse_cuthill_mckee_ordering()=default
Constructor.
void operator()(const Eigen::SparseSelfAdjointView< MatrixType, Mode > &matrix, permutation_type &permutation)
Create a permutation matrix from SparseSelfAdjointView object.
Definition of cuthill_mckee_ordering class.
Namespace of solvers of linear equations.
Definition of sparse_matrix concept.