KASKADE 7 development version
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Kaskade::CUBThetaModelFunction Class Reference

For optimization with cubic upper bounds method. More...

#include <searchspace.hh>

Detailed Description

For optimization with cubic upper bounds method.

Definition at line 79 of file searchspace.hh.

Public Types

typedef UNCMINVector dvec
 
typedef SLAPMatrix< double, 1 > dmat
 

Public Member Functions

virtual ~CUBThetaModelFunction ()
 
 CUBThetaModelFunction (AbstractLinearization const &linT, AbstractLinearization const &linN, std::vector< AbstractFunctionSpaceElement * > &basis, AbstractScalarProduct &scL, AbstractScalarProduct &scC, SearchSpaceCreator &sp)
 
 CUBThetaModelFunction (AbstractLinearization const &linT, AbstractLinearization const &linN, std::vector< AbstractFunctionSpaceElement * > &basis, AbstractScalarProduct &scL, AbstractScalarProduct &scC, AbstractTangentialSolver const *tS, SearchSpaceCreator &sp, bool useHessianAsNorm)
 
template<class Paras >
void reparametrize (double omegaL_, double omegaC_, double gamma_, Paras p)
 
void getMinimalCoefficients (std::vector< double > &coeff)
 
virtual double evalModel (std::vector< double > &iterate)
 
virtual double evalRegModel (std::vector< double > &iterate, double omegaL)
 
virtual double eval (std::vector< double > &iterate, double oL, double oC, double g, double soscale=1.0, double foscale=1.0, double alpha=1.0)
 
double f_to_minimize (dvec &p)
 
virtual void gradient (dvec &p, dvec &g)
 
void hessian (dvec, dmat)
 
virtual int HasAnalyticGradient ()
 
int HasAnalyticHessian ()
 
virtual int ValidParameters (dvec &x)
 
int dim ()
 
double normC (std::vector< double > &coeff)
 
double normL (std::vector< double > &coeff)
 
double normH (std::vector< double > &coeff)
 

Protected Member Functions

void MatMultiply (SLAPMatrix< double > &mat, std::vector< double > &in, std::vector< double > &out)
 
double computeblf (SLAPMatrix< double > &blf, std::vector< double > &left, std::vector< double > &right)
 
double compute_barrier_arg (std::vector< double > &iterate, double oC)
 
double dot (std::vector< double >const &v1, std::vector< double >const &v2)
 
void debugInfo ()
 
void plausibility ()
 

Protected Attributes

int sz
 
int nidx
 
int tidx0
 
int tidx1
 
SLAPMatrix< double > hessianblf
 
SLAPMatrix< double > normHblf
 
SLAPMatrix< double > ablf
 
SLAPMatrix< double > normLblf
 
SLAPMatrix< double > normCblf
 
SLAPMatrix< double > normMblf
 
std::vector< double > gradientcoeff
 
double omegaL
 
double omegaC
 
double gamma
 
double aimContraction
 
double normalContraction
 
double alpha
 
double scalef
 
double lopt
 
bool fixednu
 
bool const normalstep
 
bool const tangentialstep
 

Member Typedef Documentation

◆ dmat

Definition at line 84 of file searchspace.hh.

◆ dvec

Definition at line 83 of file searchspace.hh.

Constructor & Destructor Documentation

◆ ~CUBThetaModelFunction()

virtual Kaskade::CUBThetaModelFunction::~CUBThetaModelFunction ( )
inlinevirtual

Definition at line 86 of file searchspace.hh.

◆ CUBThetaModelFunction() [1/2]

Kaskade::CUBThetaModelFunction::CUBThetaModelFunction ( AbstractLinearization const &  linT,
AbstractLinearization const &  linN,
std::vector< AbstractFunctionSpaceElement * > &  basis,
AbstractScalarProduct scL,
AbstractScalarProduct scC,
SearchSpaceCreator sp 
)

◆ CUBThetaModelFunction() [2/2]

Kaskade::CUBThetaModelFunction::CUBThetaModelFunction ( AbstractLinearization const &  linT,
AbstractLinearization const &  linN,
std::vector< AbstractFunctionSpaceElement * > &  basis,
AbstractScalarProduct scL,
AbstractScalarProduct scC,
AbstractTangentialSolver const *  tS,
SearchSpaceCreator sp,
bool  useHessianAsNorm 
)

Member Function Documentation

◆ compute_barrier_arg()

double Kaskade::CUBThetaModelFunction::compute_barrier_arg ( std::vector< double > &  iterate,
double  oC 
)
inlineprotected

Definition at line 249 of file searchspace.hh.

Referenced by eval(), gradient(), and ValidParameters().

◆ computeblf()

double Kaskade::CUBThetaModelFunction::computeblf ( SLAPMatrix< double > &  blf,
std::vector< double > &  left,
std::vector< double > &  right 
)
inlineprotected

Definition at line 241 of file searchspace.hh.

Referenced by compute_barrier_arg(), eval(), gradient(), normC(), normH(), and normL().

◆ debugInfo()

void Kaskade::CUBThetaModelFunction::debugInfo ( )
protected

◆ dim()

int Kaskade::CUBThetaModelFunction::dim ( )
inline

Definition at line 206 of file searchspace.hh.

◆ dot()

double Kaskade::CUBThetaModelFunction::dot ( std::vector< double >const &  v1,
std::vector< double >const &  v2 
)
inlineprotected

Definition at line 257 of file searchspace.hh.

Referenced by computeblf(), and eval().

◆ eval()

virtual double Kaskade::CUBThetaModelFunction::eval ( std::vector< double > &  iterate,
double  oL,
double  oC,
double  g,
double  soscale = 1.0,
double  foscale = 1.0,
double  alpha = 1.0 
)
inlinevirtual

Definition at line 130 of file searchspace.hh.

Referenced by evalModel(), evalRegModel(), and f_to_minimize().

◆ evalModel()

virtual double Kaskade::CUBThetaModelFunction::evalModel ( std::vector< double > &  iterate)
inlinevirtual

Definition at line 115 of file searchspace.hh.

◆ evalRegModel()

virtual double Kaskade::CUBThetaModelFunction::evalRegModel ( std::vector< double > &  iterate,
double  omegaL 
)
inlinevirtual

Definition at line 122 of file searchspace.hh.

◆ f_to_minimize()

double Kaskade::CUBThetaModelFunction::f_to_minimize ( dvec p)
inline

Definition at line 152 of file searchspace.hh.

◆ getMinimalCoefficients()

void Kaskade::CUBThetaModelFunction::getMinimalCoefficients ( std::vector< double > &  coeff)

◆ gradient()

virtual void Kaskade::CUBThetaModelFunction::gradient ( dvec p,
dvec g 
)
inlinevirtual

Definition at line 160 of file searchspace.hh.

◆ HasAnalyticGradient()

virtual int Kaskade::CUBThetaModelFunction::HasAnalyticGradient ( )
inlinevirtual

Definition at line 193 of file searchspace.hh.

◆ HasAnalyticHessian()

int Kaskade::CUBThetaModelFunction::HasAnalyticHessian ( )
inline

Definition at line 196 of file searchspace.hh.

◆ hessian()

void Kaskade::CUBThetaModelFunction::hessian ( dvec  ,
dmat   
)
inline

Definition at line 190 of file searchspace.hh.

◆ MatMultiply()

void Kaskade::CUBThetaModelFunction::MatMultiply ( SLAPMatrix< double > &  mat,
std::vector< double > &  in,
std::vector< double > &  out 
)
inlineprotected

Definition at line 226 of file searchspace.hh.

Referenced by computeblf(), and gradient().

◆ normC()

double Kaskade::CUBThetaModelFunction::normC ( std::vector< double > &  coeff)
inline

Definition at line 209 of file searchspace.hh.

◆ normH()

double Kaskade::CUBThetaModelFunction::normH ( std::vector< double > &  coeff)
inline

Definition at line 219 of file searchspace.hh.

◆ normL()

double Kaskade::CUBThetaModelFunction::normL ( std::vector< double > &  coeff)
inline

Definition at line 214 of file searchspace.hh.

◆ plausibility()

void Kaskade::CUBThetaModelFunction::plausibility ( )
protected

◆ reparametrize()

template<class Paras >
void Kaskade::CUBThetaModelFunction::reparametrize ( double  omegaL_,
double  omegaC_,
double  gamma_,
Paras  p 
)
inline

Definition at line 101 of file searchspace.hh.

◆ ValidParameters()

virtual int Kaskade::CUBThetaModelFunction::ValidParameters ( dvec x)
inlinevirtual

Definition at line 199 of file searchspace.hh.

Member Data Documentation

◆ ablf

SLAPMatrix<double> Kaskade::CUBThetaModelFunction::ablf
protected

Definition at line 269 of file searchspace.hh.

◆ aimContraction

double Kaskade::CUBThetaModelFunction::aimContraction
protected

Definition at line 273 of file searchspace.hh.

Referenced by compute_barrier_arg(), and reparametrize().

◆ alpha

double Kaskade::CUBThetaModelFunction::alpha
protected

Definition at line 273 of file searchspace.hh.

Referenced by eval(), f_to_minimize(), gradient(), and reparametrize().

◆ fixednu

bool Kaskade::CUBThetaModelFunction::fixednu
protected

Definition at line 275 of file searchspace.hh.

Referenced by dim(), eval(), gradient(), and ValidParameters().

◆ gamma

double Kaskade::CUBThetaModelFunction::gamma
protected

Definition at line 272 of file searchspace.hh.

Referenced by f_to_minimize(), gradient(), and reparametrize().

◆ gradientcoeff

std::vector<double> Kaskade::CUBThetaModelFunction::gradientcoeff
protected

Definition at line 270 of file searchspace.hh.

Referenced by eval(), and gradient().

◆ hessianblf

SLAPMatrix<double> Kaskade::CUBThetaModelFunction::hessianblf
protected

Definition at line 269 of file searchspace.hh.

Referenced by eval(), and gradient().

◆ lopt

double Kaskade::CUBThetaModelFunction::lopt
protected

Definition at line 274 of file searchspace.hh.

Referenced by eval(), and ValidParameters().

◆ nidx

int Kaskade::CUBThetaModelFunction::nidx
protected

Definition at line 268 of file searchspace.hh.

◆ normalContraction

double Kaskade::CUBThetaModelFunction::normalContraction
protected

Definition at line 273 of file searchspace.hh.

Referenced by reparametrize().

◆ normalstep

bool const Kaskade::CUBThetaModelFunction::normalstep
protected

Definition at line 276 of file searchspace.hh.

Referenced by dim(), eval(), gradient(), and ValidParameters().

◆ normCblf

SLAPMatrix<double> Kaskade::CUBThetaModelFunction::normCblf
protected

Definition at line 269 of file searchspace.hh.

Referenced by compute_barrier_arg(), gradient(), and normC().

◆ normHblf

SLAPMatrix<double> Kaskade::CUBThetaModelFunction::normHblf
protected

Definition at line 269 of file searchspace.hh.

Referenced by normH().

◆ normLblf

SLAPMatrix<double> Kaskade::CUBThetaModelFunction::normLblf
protected

Definition at line 269 of file searchspace.hh.

Referenced by normL().

◆ normMblf

SLAPMatrix<double> Kaskade::CUBThetaModelFunction::normMblf
protected

Definition at line 269 of file searchspace.hh.

Referenced by eval(), and gradient().

◆ omegaC

double Kaskade::CUBThetaModelFunction::omegaC
protected

Definition at line 271 of file searchspace.hh.

Referenced by f_to_minimize(), gradient(), reparametrize(), and ValidParameters().

◆ omegaL

double Kaskade::CUBThetaModelFunction::omegaL
protected

Definition at line 271 of file searchspace.hh.

Referenced by evalRegModel(), f_to_minimize(), gradient(), and reparametrize().

◆ scalef

double Kaskade::CUBThetaModelFunction::scalef
protected

Definition at line 274 of file searchspace.hh.

◆ sz

int Kaskade::CUBThetaModelFunction::sz
protected

Definition at line 268 of file searchspace.hh.

Referenced by dim(), eval(), gradient(), and ValidParameters().

◆ tangentialstep

bool const Kaskade::CUBThetaModelFunction::tangentialstep
protected

Definition at line 277 of file searchspace.hh.

Referenced by eval(), and gradient().

◆ tidx0

int Kaskade::CUBThetaModelFunction::tidx0
protected

Definition at line 268 of file searchspace.hh.

◆ tidx1

int Kaskade::CUBThetaModelFunction::tidx1
protected

Definition at line 268 of file searchspace.hh.


The documentation for this class was generated from the following file: