$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
before calling the method. If your matrix is already symmetric (at leat in structure), you can avoid that by calling the method with a SelfAdjointView type.// Call the ordering on the pattern of the lower triangular matrix A ordering(A.selfadjointView<Lower>(), perm);
1.6.1