|
MOAB
4.9.3pre
|
#include <Ordering.h>
Public Types | |
| typedef PermutationMatrix < Dynamic, Dynamic, StorageIndex > | PermutationType |
Public Member Functions | |
| template<typename MatrixType > | |
| void | operator() (const MatrixType &mat, PermutationType &perm) |
| template<typename SrcType , unsigned int SrcUpLo> | |
| void | operator() (const SparseSelfAdjointView< SrcType, SrcUpLo > &mat, PermutationType &perm) |
Functor computing the approximate minimum degree ordering If the matrix is not structurally symmetric, an ordering of A^T+A is computed
| StorageIndex | The type of indices of the matrix |
Definition at line 52 of file Ordering.h.
| typedef PermutationMatrix<Dynamic, Dynamic, StorageIndex> Eigen::AMDOrdering< StorageIndex >::PermutationType |
Definition at line 55 of file Ordering.h.
| void Eigen::AMDOrdering< StorageIndex >::operator() | ( | const MatrixType & | mat, |
| PermutationType & | perm | ||
| ) | [inline] |
Compute the permutation vector from a sparse matrix This routine is much faster if the input matrix is column-major
Definition at line 61 of file Ordering.h.
{
// Compute the symmetric pattern
SparseMatrix<typename MatrixType::Scalar, ColMajor, StorageIndex> symm;
internal::ordering_helper_at_plus_a(mat,symm);
// Call the AMD routine
//m_mat.prune(keep_diag());
internal::minimum_degree_ordering(symm, perm);
}
| void Eigen::AMDOrdering< StorageIndex >::operator() | ( | const SparseSelfAdjointView< SrcType, SrcUpLo > & | mat, |
| PermutationType & | perm | ||
| ) | [inline] |
Compute the permutation with a selfadjoint matrix
Definition at line 74 of file Ordering.h.
{
SparseMatrix<typename SrcType::Scalar, ColMajor, StorageIndex> C; C = mat;
// Call the AMD routine
// m_mat.prune(keep_diag()); //Remove the diagonal elements
internal::minimum_degree_ordering(C, perm);
}