diff options
author | Gael Guennebaud <g.gael@free.fr> | 2014-09-01 17:19:51 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2014-09-01 17:19:51 +0200 |
commit | 1c4b69c5fb4ec6a8b71a64f39ea82dacf50a8bfd (patch) | |
tree | a8c0169649de753f94ce7c23ed05231fa1f39179 /Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h | |
parent | 8a74ce922cbee1c416675e57e48393dd6b399e4e (diff) |
Factorize solveWithGuess in IterativeSolverBase
Diffstat (limited to 'Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h')
-rw-r--r-- | Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h b/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h index 2fc1a511b..26487dbb2 100644 --- a/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +++ b/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h @@ -193,6 +193,22 @@ public: } #endif // EIGEN_TEST_EVALUATORS +#ifdef EIGEN_TEST_EVALUATORS + /** \returns the solution x of \f$ A x = b \f$ using the current decomposition of A + * and \a x0 as an initial solution. + * + * \sa solve(), compute() + */ + template<typename Rhs,typename Guess> + inline const SolveWithGuess<Derived, Rhs, Guess> + solveWithGuess(const MatrixBase<Rhs>& b, const Guess& x0) const + { + eigen_assert(m_isInitialized && "Solver is not initialized."); + eigen_assert(derived().rows()==b.rows() && "solve(): invalid number of rows of the right hand side matrix b"); + return SolveWithGuess<Derived, Rhs, Guess>(derived(), b.derived(), x0); + } +#endif // EIGEN_TEST_EVALUATORS + /** \returns Success if the iterations converged, and NoConvergence otherwise. */ ComputationInfo info() const { |