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);
class | Eigen::AMDOrdering< StorageIndex > |
class | Eigen::COLAMDOrdering< StorageIndex > |
class | Eigen::NaturalOrdering< StorageIndex > |
© Eigen.
Licensed under the MPL2 License.
https://eigen.tuxfamily.org/dox/group__OrderingMethods__Module.html