aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2014-09-01 17:19:51 +0200
committerGravatar Gael Guennebaud <g.gael@free.fr>2014-09-01 17:19:51 +0200
commit1c4b69c5fb4ec6a8b71a64f39ea82dacf50a8bfd (patch)
treea8c0169649de753f94ce7c23ed05231fa1f39179 /Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h
parent8a74ce922cbee1c416675e57e48393dd6b399e4e (diff)
Factorize solveWithGuess in IterativeSolverBase
Diffstat (limited to 'Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h')
-rw-r--r--Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h16
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
{