From 3f22711481ddb9184010b4040fece066d0a7e513 Mon Sep 17 00:00:00 2001
From: Oliver Sander <oliver.sander@tu-dresden.de>
Date: Tue, 17 Jan 2017 16:41:18 +0100
Subject: [PATCH] [documentation] LinearIPOpt is not a LinearSolver!

---
 dune/solvers/solvers/linearipopt.hh | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/dune/solvers/solvers/linearipopt.hh b/dune/solvers/solvers/linearipopt.hh
index 2d9689b7..cba36075 100644
--- a/dune/solvers/solvers/linearipopt.hh
+++ b/dune/solvers/solvers/linearipopt.hh
@@ -454,7 +454,7 @@ finalize_solution(Ipopt::SolverReturn status,
 
 }
 
-/** \brief Wraps the IPOpt interior-point solver for quadratic problems with
+/** \brief Wraps the IPOpt interior-point solver for linear functionals with
  *    linear constraints and bound constraints.
  *
  *   The problems that can be solved are of the form
@@ -464,6 +464,10 @@ finalize_solution(Ipopt::SolverReturn status,
  *               g_l \leq G x \leq g_u
  *   \f]
  *
+ * \note This is not a 'LinearSolver' in the dune-istl sense of the word,
+ *  because it minimizes a linear functional, rather than solving
+ *  a linear equation.
+ *
  *  \tparam JacobianType The type of the jacobian of the linear constraints
 */
 template <class VectorType, class JacobianType>
@@ -549,13 +553,11 @@ template <class VectorType, class JacobianType>
 void LinearIPOptSolver<VectorType,JacobianType>::solve()
 {
   // Create a new instance of your nlp
-  //  (use a SmartPtr, not raw)
     Ipopt::SmartPtr<Ipopt::TNLP> mynlp = new LinearIPOptProblem<VectorType,JacobianType>(x_, rhs_,
                                                            this->ignoreNodes_, obstacles_,
                                                             constraintMatrix_,constraintObstacles_);
 
   // Create a new instance of IpoptApplication
-  //  (use a SmartPtr, not raw)
     Ipopt::SmartPtr<Ipopt::IpoptApplication> app = new Ipopt::IpoptApplication();
 
   // Change some options
-- 
GitLab