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); }