aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar giacomo po <gpo@ucla.edu>2012-09-24 07:47:38 -0700
committerGravatar giacomo po <gpo@ucla.edu>2012-09-24 07:47:38 -0700
commitdd7ff3f4934b173fe337916fc9225facbaf955c3 (patch)
tree89fabcffe80f7be1fa4cec1ef71c06f5988f499a
parent8c5e4fae6186004b8121276f30dd75a8b217eec9 (diff)
moved MINRES to unsupported. Made unit test.
-rw-r--r--Eigen/IterativeLinearSolvers1
-rw-r--r--unsupported/Eigen/IterativeSolvers1
-rw-r--r--unsupported/Eigen/src/IterativeSolvers/MINRES.h (renamed from Eigen/src/IterativeLinearSolvers/MINRES.h)0
-rw-r--r--unsupported/test/CMakeLists.txt2
-rw-r--r--unsupported/test/minres.cpp33
5 files changed, 35 insertions, 2 deletions
diff --git a/Eigen/IterativeLinearSolvers b/Eigen/IterativeLinearSolvers
index 741bac824..315c2dd1e 100644
--- a/Eigen/IterativeLinearSolvers
+++ b/Eigen/IterativeLinearSolvers
@@ -34,7 +34,6 @@
#include "src/IterativeLinearSolvers/ConjugateGradient.h"
#include "src/IterativeLinearSolvers/BiCGSTAB.h"
#include "src/IterativeLinearSolvers/IncompleteLUT.h"
-#include "src/IterativeLinearSolvers/MINRES.h"
#include "src/Core/util/ReenableStupidWarnings.h"
diff --git a/unsupported/Eigen/IterativeSolvers b/unsupported/Eigen/IterativeSolvers
index 6c6946d91..7a5776d9c 100644
--- a/unsupported/Eigen/IterativeSolvers
+++ b/unsupported/Eigen/IterativeSolvers
@@ -34,6 +34,7 @@
#include "../../Eigen/Householder"
#include "src/IterativeSolvers/GMRES.h"
//#include "src/IterativeSolvers/SSORPreconditioner.h"
+#include "src/IterativeSolvers/MINRES.h"
//@}
diff --git a/Eigen/src/IterativeLinearSolvers/MINRES.h b/unsupported/Eigen/src/IterativeSolvers/MINRES.h
index d5527a163..d5527a163 100644
--- a/Eigen/src/IterativeLinearSolvers/MINRES.h
+++ b/unsupported/Eigen/src/IterativeSolvers/MINRES.h
diff --git a/unsupported/test/CMakeLists.txt b/unsupported/test/CMakeLists.txt
index ff0137ec6..1e8ba7240 100644
--- a/unsupported/test/CMakeLists.txt
+++ b/unsupported/test/CMakeLists.txt
@@ -85,4 +85,4 @@ ei_add_test(polynomialutils)
ei_add_test(kronecker_product)
ei_add_test(splines)
ei_add_test(gmres)
-
+ei_add_test(minres)
diff --git a/unsupported/test/minres.cpp b/unsupported/test/minres.cpp
new file mode 100644
index 000000000..46946ca8b
--- /dev/null
+++ b/unsupported/test/minres.cpp
@@ -0,0 +1,33 @@
+// This file is part of Eigen, a lightweight C++ template library
+// for linear algebra.
+//
+// Copyright (C) 2011 Gael Guennebaud <g.gael@free.fr>
+// Copyright (C) 2012 Giacomo Po <gpo@ucla.edu>
+//
+// This Source Code Form is subject to the terms of the Mozilla
+// Public License v. 2.0. If a copy of the MPL was not distributed
+// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#include "../../test/sparse_solver.h"
+#include <Eigen/IterativeSolvers>
+
+template<typename T> void test_minres_T()
+{
+ minres<SparseMatrix<T>, DiagonalPreconditioner<T> > minres_colmajor_diag;
+ minres<SparseMatrix<T>, IdentityPreconditioner > minres_colmajor_I;
+ minres<SparseMatrix<T>, IncompleteLUT<T> > minres_colmajor_ilut;
+ //minres<SparseMatrix<T>, SSORPreconditioner<T> > minres_colmajor_ssor;
+
+ CALL_SUBTEST( check_sparse_square_solving(minres_colmajor_diag) );
+// CALL_SUBTEST( check_sparse_square_solving(minres_colmajor_I) );
+ CALL_SUBTEST( check_sparse_square_solving(minres_colmajor_ilut) );
+ //CALL_SUBTEST( check_sparse_square_solving(minres_colmajor_ssor) );
+}
+
+void test_minres()
+{
+ for(int i = 0; i < g_repeat; i++) {
+ CALL_SUBTEST_1(test_minres_T<double>());
+ CALL_SUBTEST_2(test_minres_T<std::complex<double> >());
+ }
+}