20 #ifndef IPO_DETAIL_NEWTONDESCENT_HPP
21 #define IPO_DETAIL_NEWTONDESCENT_HPP
27 #include<ccgsl/blas.hpp>
28 #include<ccgsl/linalg.hpp>
30 #include"../../ipo_function/DerivativesEstimates.hpp"
32 #include"../IPOException.hpp"
237 gsl::vector
const equalityConstraintsBounds = gsl::vector() );
245 double operator()( gsl::vector& x,
double objectiveValue );
361 bool operator()(
size_t const iteration,
double const fValue, gsl::vector
const& gradient,
362 gsl::vector
const& vector, gsl::vector
const& lastVector )
const;
void setStepTol(double const stepTol)
Set the value of stepTol.
void setx_typ(gsl::vector x_typ)
Set the value of typical value of argument.
No stopping condition reached.
double functionScale
Scaling factor for output of function values.
double stepTol
The Newton descent needs a stopping condition.
double operator()(gsl::vector &x, double objectiveValue)
The function object operator.
double getf_typ() const
Get the value of typical value of function.
void setOutputStream(std::ostream *outputStream)
Set outputStream.
size_t getIterMax() const
Get the value of iterMax.
Parameters()
Constructor: sets default values.
NewtonDescent(ipo_function::Function &function, ipo_function::DerivativesEstimates &de, gsl::matrix const equalityConstraintsMatrix=gsl::matrix(), gsl::vector const equalityConstraintsBounds=gsl::vector())
The constructor needs a Function and a DerivativesEstimates (which may be identical).
Stopping(NewtonDescent const &newtonDescent)
Constructor.
gsl::vector getx_typ() const
Get the value of typical value of argument.
gsl::vector work
This vector is used in singular value decompostion and its size is set in constructor if it is needed...
void setVectorDigits(size_t const vectorDigits)
Set the number of significant digits of entries of vector to show in each Newton step.
bool operator()(size_t const iteration, double const fValue, gsl::vector const &gradient, gsl::vector const &vector, gsl::vector const &lastVector) const
Test the stopping conditions.
gsl::matrix const equalityConstraintsMatrix
This must be set in the constructor.
StoppingCondition getLastStoppingCondition() const
Get Last stopping condition.
Base class for derivative estimates with Hessian.
gsl::vector x_typ
Typical argument value: default is no unspecified vector (evaluates to false), which is interpreted a...
size_t getVectorDigits() const
Get the value of vectorDigits.
Gradient tolerance reached.
void setIterMax(size_t const iterMax)
Set the value of iterMax.
Backtracking line search.
double getStepTol() const
Get the value of stepTol.
LineSearch lineSearch
We need a LineSearch object: backtracking line search.
StoppingCondition
Enumeration for stopping conditions.
gsl::vector b
This vector is used in singular value decompostion and its size is set in constructor if it is needed...
Maximum iterations reached.
StoppingCondition lastStoppingCondition
Last stopping condition.
ipo_function::DerivativesEstimates & de
The object containing the function and derivatives estimates.
This class computes a function at a vector.
void setGradTol(double const gradTol)
Set the value of gradTol.
double f_typ
Typical function value: default is 1.
gsl::vector S
This vector is used in singular value decompostion and its size is set in constructor if it is needed...
gsl::matrix V
This matrix is used in singular value decompostion and its size is set in constructor if it is needed...
gsl::matrix A
This matrix is used in singular value decompostion and its size is set in constructor if it is needed...
NewtonDescent const & newtonDescent
size_t vectorDigits
If this value is set to zero and outputStream is not null then vector arguments are not shown (more u...
LineSearch::Parameters & getLineSearchParameters()
Get line search parameters by reference.
std::ostream * getOutputStream() const
Get the current value of outputStream.
Relative step size tolerance reached.
void setf_typ(double const f_typ)
Set the value of typical value of function.
void setFunctionScale(double const functionScale)
Set the scaling factor for output of function values.
double getGradTol() const
Get the value of gradTol.
Parameters & getParameters()
Get parameters by reference.
double gradTol
The Newton descent needs a stopping condition.
bool phaseI
This value Is normally set to false.
size_t iterMax
The Newton descent needs a stopping condition.
This class allows us to test suitable stopping conditions.
void setPhaseI(bool const phaseI)
This function is designed to be used to help find an initial (phase I) feasible solution.
This namespace holds all the interior-point optimisation classes.
std::ostream * outputStream
A stream (default is nullptr) for sending output to.