diff options
author | Gael Guennebaud <g.gael@free.fr> | 2011-07-26 14:43:20 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2011-07-26 14:43:20 +0200 |
commit | 3a2cabc2753adab3f5977e8f50c75da85a56eada (patch) | |
tree | 175d12a36b29fb643962a30985b2b70604030de0 /unsupported | |
parent | 51f706b91616689a6edbd278be5dd9ea9d726dbe (diff) |
compilation fix with conjugate_gradient_solve_retval_with_guess
Diffstat (limited to 'unsupported')
-rw-r--r-- | unsupported/Eigen/src/IterativeSolvers/ConjugateGradient.h | 6 | ||||
-rw-r--r-- | unsupported/test/cg.cpp | 4 |
2 files changed, 7 insertions, 3 deletions
diff --git a/unsupported/Eigen/src/IterativeSolvers/ConjugateGradient.h b/unsupported/Eigen/src/IterativeSolvers/ConjugateGradient.h index c8b276dcf..f1bed1116 100644 --- a/unsupported/Eigen/src/IterativeSolvers/ConjugateGradient.h +++ b/unsupported/Eigen/src/IterativeSolvers/ConjugateGradient.h @@ -330,13 +330,13 @@ struct solve_retval<ConjugateGradient<_MatrixType,_UpLo,_Preconditioner>, Rhs> template<typename CG, typename Rhs, typename Guess> class conjugate_gradient_solve_retval_with_guess - : solve_retval_base<CG, Rhs> + : public solve_retval_base<CG, Rhs> { typedef Eigen::internal::solve_retval_base<CG,Rhs> Base; using Base::dec; using Base::rhs; - - conjugate_gradient_solve_retval_with_guess(const CG& cg, const Rhs& rhs, const Guess guess) + public: + conjugate_gradient_solve_retval_with_guess(const CG& cg, const Rhs& rhs, const Guess& guess) : Base(cg, rhs), m_guess(guess) {} diff --git a/unsupported/test/cg.cpp b/unsupported/test/cg.cpp index bc421985e..a9ac81960 100644 --- a/unsupported/test/cg.cpp +++ b/unsupported/test/cg.cpp @@ -53,6 +53,10 @@ template<typename Scalar,typename Index> void cg(int size) x = ConjugateGradient<SparseMatrixType, Lower>().compute(m3).solve(b); VERIFY(ref_x.isApprox(x,test_precision<Scalar>()) && "ConjugateGradient: solve, full storage, lower"); + x.setRandom(); + x = ConjugateGradient<SparseMatrixType, Lower>().compute(m3).solveWithGuess(b,x); + VERIFY(ref_x.isApprox(x,test_precision<Scalar>()) && "ConjugateGradient: solveWithGuess, full storage, lower"); + x = ConjugateGradient<SparseMatrixType, Upper>().compute(m3).solve(b); VERIFY(ref_x.isApprox(x,test_precision<Scalar>()) && "ConjugateGradient: solve, full storage, upper, single dense rhs"); |