diff options
author | giacomo po <gpo@ucla.edu> | 2012-09-24 07:47:38 -0700 |
---|---|---|
committer | giacomo po <gpo@ucla.edu> | 2012-09-24 07:47:38 -0700 |
commit | dd7ff3f4934b173fe337916fc9225facbaf955c3 (patch) | |
tree | 89fabcffe80f7be1fa4cec1ef71c06f5988f499a /unsupported/test | |
parent | 8c5e4fae6186004b8121276f30dd75a8b217eec9 (diff) |
moved MINRES to unsupported. Made unit test.
Diffstat (limited to 'unsupported/test')
-rw-r--r-- | unsupported/test/CMakeLists.txt | 2 | ||||
-rw-r--r-- | unsupported/test/minres.cpp | 33 |
2 files changed, 34 insertions, 1 deletions
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> >()); + } +} |