module
OrderingMethods moduleContents
- Reference
This module is currently for internal use only
It defines various built-in and external ordering methods for sparse matrices. They are typically used to reduce the number of elements during the sparse matrix decomposition (LLT, LU, QR). Precisely, in a preprocessing step, a permutation matrix P is computed using those ordering methods and applied to the columns of the matrix. Using for instance the sparse Cholesky decomposition, it is expected that the nonzeros elements in LLT(A*P) will be much smaller than that in LLT(A).
Usage : #include <Eigen/OrderingMethods>
A simple usage is as a template parameter in the sparse decomposition classes :
SparseLU<MatrixType, COLAMDOrdering<int> > solver;
SparseQR<MatrixType, COLAMDOrdering<int> > solver;
It is possible as well to call directly a particular ordering method for your own purpose,
AMDOrdering<int> ordering; PermutationMatrix<Dynamic, Dynamic, int> perm; SparseMatrix<double> A; //Fill the matrix ... ordering(A, perm); // Call AMD
// Call the ordering on the pattern of the lower triangular matrix A ordering(A.selfadjointView<Lower>(), perm);
Classes
-
template<typename StorageIndex>class Eigen::AMDOrdering
-
template<typename StorageIndex>class Eigen::COLAMDOrdering
-
template<typename StorageIndex>class Eigen::NaturalOrdering