aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/klu_support.cpp
diff options
context:
space:
mode:
authorGravatar Kyle Vedder <kyle.c.vedder@gmail.com>2017-10-04 21:01:23 -0500
committerGravatar Kyle Vedder <kyle.c.vedder@gmail.com>2017-10-04 21:01:23 -0500
commitc0e1d510fd7086a7e79987b7df0a789a4457c5dc (patch)
treea8b1cc4a6c715f2de3fd522ef5de3b903c737a18 /test/klu_support.cpp
parent0e85a677e36956f13a3d85047d088d773b39b69b (diff)
Add support for SuiteSparse's KLU routines
Diffstat (limited to 'test/klu_support.cpp')
-rw-r--r--test/klu_support.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/test/klu_support.cpp b/test/klu_support.cpp
new file mode 100644
index 000000000..8b1fdeb41
--- /dev/null
+++ b/test/klu_support.cpp
@@ -0,0 +1,32 @@
+// This file is part of Eigen, a lightweight C++ template library
+// for linear algebra.
+//
+// Copyright (C) 2011 Gael Guennebaud <g.gael@free.fr>
+//
+// 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/.
+
+#define EIGEN_NO_DEBUG_SMALL_PRODUCT_BLOCKS
+#include "sparse_solver.h"
+
+#include <unsupported/Eigen/KLUSupport>
+
+template<typename T> void test_klu_support_T()
+{
+ KLU<SparseMatrix<T, ColMajor> > klu_colmajor;
+ KLU<SparseMatrix<T, RowMajor> > klu_rowmajor;
+
+ check_sparse_square_solving(klu_colmajor);
+ check_sparse_square_solving(klu_rowmajor);
+
+ //check_sparse_square_determinant(umfpack_colmajor);
+ //check_sparse_square_determinant(umfpack_rowmajor);
+}
+
+void test_klu_support()
+{
+ CALL_SUBTEST_1(test_klu_support_T<double>());
+ CALL_SUBTEST_2(test_klu_support_T<std::complex<double> >());
+}
+