$treeview $search $mathjax
Eigen
3.2.5
$projectbrief
|
$projectbrief
|
$searchbox |
Classes | |
class | AMDOrdering< Index > |
class | COLAMDOrdering< Index > |
class | NaturalOrdering< Index > |
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);