Add support for Metis fill-reducing ordering ; it is generally more efficient than COLAMD ordering

This commit is contained in:
Desire NUENTSA
2012-08-06 14:55:02 +02:00
parent a51806993b
commit 4d3b7e2a13
6 changed files with 186 additions and 1 deletions

View File

@@ -7,6 +7,9 @@
#include <unsupported/Eigen/SparseExtra>
#include <Eigen/SparseLU>
#include <bench/BenchTimer.h>
#ifdef EIGEN_METIS_SUPPORT
#include <Eigen/MetisSupport>
#endif
using namespace std;
using namespace Eigen;
@@ -21,7 +24,12 @@ int main(int argc, char **args)
typedef Matrix<scalar, Dynamic, 1> DenseRhs;
Matrix<scalar, Dynamic, 1> b, x, tmp;
// SparseLU<SparseMatrix<scalar, ColMajor>, AMDOrdering<int> > solver;
#ifdef EIGEN_METIS_SUPPORT
SparseLU<SparseMatrix<scalar, ColMajor>, MetisOrdering<int> > solver;
#else
SparseLU<SparseMatrix<scalar, ColMajor>, COLAMDOrdering<int> > solver;
#endif
ifstream matrix_file;
string line;
int n;