diff options
author | 2012-02-04 14:20:56 +0100 | |
---|---|---|
committer | 2012-02-04 14:20:56 +0100 | |
commit | 4ed87c59c72b28f617908285d99206d8d79ebbe2 (patch) | |
tree | 860ed2e176ca455952fcc4bb6293f62f5a710f53 /test | |
parent | 1763f86364486e8ebaa1d2d07f6cea4fd57d0cbe (diff) |
Update the PARDISO interface to match other sparse solvers.
- Add support for Upper or Lower inputs.
- Add supports for sparse RHS
- Remove transposed cases, remove ordering method interface
- Add full access to PARDISO parameters
Diffstat (limited to 'test')
-rw-r--r-- | test/pardiso_support.cpp | 7 | ||||
-rw-r--r-- | test/sparse_solver.h | 3 |
2 files changed, 6 insertions, 4 deletions
diff --git a/test/pardiso_support.cpp b/test/pardiso_support.cpp index a6162b44f..316c608d0 100644 --- a/test/pardiso_support.cpp +++ b/test/pardiso_support.cpp @@ -7,11 +7,12 @@ template<typename T> void test_pardiso_T() { - //PardisoLLT < SparseMatrix<T, RowMajor> > pardiso_llt; - //PardisoLDLT< SparseMatrix<T, RowMajor> > pardiso_ldlt; + PardisoLLT < SparseMatrix<T, RowMajor> > pardiso_llt; + PardisoLDLT< SparseMatrix<T, RowMajor> > pardiso_ldlt; PardisoLU < SparseMatrix<T, RowMajor> > pardiso_lu; - //check_sparse_spd_solving(pardiso_llt); + check_sparse_spd_solving(pardiso_llt); + check_sparse_spd_solving(pardiso_ldlt); check_sparse_square_solving(pardiso_lu); } diff --git a/test/sparse_solver.h b/test/sparse_solver.h index 51bb33a92..1a5483050 100644 --- a/test/sparse_solver.h +++ b/test/sparse_solver.h @@ -101,6 +101,7 @@ template<typename Solver> void check_sparse_spd_solving(Solver& solver) { typedef typename Solver::MatrixType Mat; typedef typename Mat::Scalar Scalar; + typedef SparseMatrix<Scalar,ColMajor> SpMat; typedef Matrix<Scalar,Dynamic,Dynamic> DenseMatrix; typedef Matrix<Scalar,Dynamic,1> DenseVector; @@ -112,7 +113,7 @@ template<typename Solver> void check_sparse_spd_solving(Solver& solver) // generate the right hand sides int rhsCols = internal::random<int>(1,16); double density = (std::max)(8./(size*rhsCols), 0.1); - Mat B(size,rhsCols); + SpMat B(size,rhsCols); DenseVector b = DenseVector::Random(size); DenseMatrix dB(size,rhsCols); initSparse<Scalar>(density, dB, B); |