20 #ifndef IPO_FUNCTION_CONCRETE_QUADRATICCOMBINATION_HPP
21 #define IPO_FUNCTION_CONCRETE_QUADRATICCOMBINATION_HPP
23 #include<ccgsl/blas.hpp>
24 #include"../Function.hpp"
25 #include"../DerivativesEstimates.hpp"
26 #include"../../ipo/IPOException.hpp"
69 void setCoefficient(
size_t const row,
size_t const col,
double const value );
86 double getCoefficient(
size_t const row,
size_t const col )
const ;
103 virtual double operator()( gsl::vector
const& vector );
110 virtual gsl::vector
gradient( gsl::vector
const& vector );
117 virtual gsl::matrix
hessian( gsl::vector
const& vector );
122 virtual void setVector( gsl::vector
const& vector );
gsl::matrix const & getCoefficients() const
Get the coefficients as a matrix by reference.
virtual gsl::matrix hessian() const
virtual gsl::vector gradient() const
virtual double value() const
Base class for derivative estimates with Hessian.
void resize(size_t const size)
Resize the matrix of coefficients.
void setCoefficients(gsl::matrix const &matrix)
Set coefficients from a matrix.
QuadraticCombination(size_t const size=0)
The constructor sets up function as a quadratic combination of size entries.
Namespace for functions that can be used by ipo::Objective and ipo::Constraint.
gsl::matrix coefficients
The matrix of coefficients;.
double getCoefficient(size_t const index) const
Get the value of a coefficient on the diagonal.
This class computes a function at a vector.
virtual double operator()(gsl::vector const &vector)
The function operator: computes the sum of the vector entries.
virtual void setVector(gsl::vector const &vector)
Set a vector and compute function value, gradient and Hessian efficiently.
size_t const size
Size of vector arguments to supply to subclass functions.
void setCoefficient(size_t const index, double const value)
Set the value of a coefficient on the diagonal.
This class provides function objects representing quadratic combinations of the elements of their mat...