humoto
Public Types | Public Member Functions | Protected Attributes | List of all members
humoto::QPObjective Class Reference

Detailed Description

A container for a QP Objective.

Definition at line 19 of file qp_problem.h.

#include <qp_problem.h>

Inheritance diagram for humoto::QPObjective:
Inheritance graph

Public Types

enum  HessianType { HESSIAN_UNDEFINED = 0, HESSIAN_GENERIC = 1, HESSIAN_DIAGONAL = 2, HESSIAN_LOWER_TRIANGULAR = 3 }
 
enum  Status { UNDEFINED = 0, INITIALIZED = 1, MODIFIED = 2 }
 

Public Member Functions

const Eigen::VectorXd & getGradient () const
 Const accessor. More...
 
Eigen::VectorXd & getGradient ()
 Non-const accessor. More...
 
const Eigen::MatrixXd & getHessian () const
 Const accessor. More...
 
Eigen::MatrixXd & getHessian ()
 Non-const accessor. More...
 
HessianType getHessianType () const
 Hessian type. More...
 
Status getStatus () const
 Status of the objective. More...
 
void initializeObjective (const humoto::HierarchyLevel &hlevel, const bool initialize_upper_triangular_part=true)
 Generates (general) objective containing all constraints on this level. More...
 
void log (humoto::Logger &logger, const LogEntryName &parent=LogEntryName(), const std::string &name="objective") const
 Log objective. More...
 
void regularize (const double regularization_factor)
 Adds regularization to the Hessian. More...
 

Protected Attributes

Eigen::VectorXd g_
 Gradient vector. More...
 
Eigen::MatrixXd H_
 Hessian. More...
 
HessianType hessian_type_
 
Status status_
 

Member Enumeration Documentation

◆ HessianType

Enumerator
HESSIAN_UNDEFINED 
HESSIAN_GENERIC 
HESSIAN_DIAGONAL 
HESSIAN_LOWER_TRIANGULAR 

Definition at line 29 of file qp_problem.h.

◆ Status

Enumerator
UNDEFINED 
INITIALIZED 
MODIFIED 

Definition at line 22 of file qp_problem.h.

Member Function Documentation

◆ getGradient() [1/2]

const Eigen::VectorXd& humoto::QPObjective::getGradient ( ) const
inline

Const accessor.

Returns
objective component

Definition at line 108 of file qp_problem.h.

◆ getGradient() [2/2]

Eigen::VectorXd& humoto::QPObjective::getGradient ( )
inline

Non-const accessor.

Returns
objective component

Definition at line 132 of file qp_problem.h.

◆ getHessian() [1/2]

const Eigen::MatrixXd& humoto::QPObjective::getHessian ( ) const
inline

Const accessor.

Returns
objective component

Definition at line 98 of file qp_problem.h.

◆ getHessian() [2/2]

Eigen::MatrixXd& humoto::QPObjective::getHessian ( )
inline

Non-const accessor.

Returns
objective component

Definition at line 120 of file qp_problem.h.

◆ getHessianType()

HessianType humoto::QPObjective::getHessianType ( ) const
inline

Hessian type.

Returns
Hessian type

Definition at line 157 of file qp_problem.h.

◆ getStatus()

Status humoto::QPObjective::getStatus ( ) const
inline

Status of the objective.

Returns
status

Definition at line 145 of file qp_problem.h.

◆ initializeObjective()

void humoto::QPObjective::initializeObjective ( const humoto::HierarchyLevel hlevel,
const bool  initialize_upper_triangular_part = true 
)
inline

Generates (general) objective containing all constraints on this level.

Parameters
[in]hlevelhierarchy level
[in]initialize_upper_triangular_part

Definition at line 56 of file qp_problem.h.

◆ log()

void humoto::QPObjective::log ( humoto::Logger logger,
const LogEntryName parent = LogEntryName(),
const std::string &  name = "objective" 
) const
inline

Log objective.

Parameters
[in,out]loggerlogger
[in]parentparent
[in]namename

Definition at line 186 of file qp_problem.h.

◆ regularize()

void humoto::QPObjective::regularize ( const double  regularization_factor)
inline

Adds regularization to the Hessian.

Parameters
[in]regularization_factor

Definition at line 168 of file qp_problem.h.

Member Data Documentation

◆ g_

Eigen::VectorXd humoto::QPObjective::g_
protected

Gradient vector.

Definition at line 43 of file qp_problem.h.

◆ H_

Eigen::MatrixXd humoto::QPObjective::H_
protected

Hessian.

Definition at line 40 of file qp_problem.h.

◆ hessian_type_

HessianType humoto::QPObjective::hessian_type_
protected

Definition at line 45 of file qp_problem.h.

◆ status_

Status humoto::QPObjective::status_
protected

Definition at line 46 of file qp_problem.h.


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