mlpack  git-master
LRSDPFunction< SDPType > Class Template Reference

The objective function that LRSDP is trying to optimize. More...

Inheritance diagram for LRSDPFunction< SDPType >:

Public Member Functions

 LRSDPFunction (const SDPType &sdp, const arma::mat &initialPoint)
 Construct the LRSDPFunction from the given SDP. More...

 
 LRSDPFunction (const size_t numSparseConstraints, const size_t numDenseConstraints, const arma::mat &initialPoint)
 Construct the LRSDPFunction with the given initial point and number of constraints. More...

 
double Evaluate (const arma::mat &coordinates) const
 Evaluate the objective function of the LRSDP (no constraints) at the given coordinates. More...

 
double EvaluateConstraint (const size_t index, const arma::mat &coordinates) const
 Evaluate a particular constraint of the LRSDP at the given coordinates. More...

 
const arma::mat & GetInitialPoint () const
 Get the initial point of the LRSDP. More...

 
void Gradient (const arma::mat &coordinates, arma::mat &gradient) const
 Evaluate the gradient of the LRSDP (no constraints) at the given coordinates. More...

 
void GradientConstraint (const size_t index, const arma::mat &coordinates, arma::mat &gradient) const
 Evaluate the gradient of a particular constraint of the LRSDP at the given coordinates. More...

 
size_t NumConstraints () const
 Get the total number of constraints in the LRSDP. More...

 
const arma::mat & RRT () const
 Get R*R^T matrix. More...

 
arma::mat & RRT ()
 Modify R*R^T matrix. More...

 
const SDPType & SDP () const
 Return the SDP object representing the problem. More...

 
SDPType & SDP ()
 Modify the SDP object representing the problem. More...

 

Detailed Description


template
<
typename
SDPType
>

class mlpack::optimization::LRSDPFunction< SDPType >

The objective function that LRSDP is trying to optimize.

Note: LRSDPfunction is designed and implemented to specifically work with a combination of AugLagrangian and L-BFGS optimizer. Implemenation of LRSDPFunction includes caching R * R^T matrix in order to avoid redundant computations(Specifically with above two optimizers) of R * R^T matrix through AugLagrangian optimizer call, as only L-BFGS takes part in updating R(coordinates) matrix. So, be careful while using LRSDP with some other optimizer. You may need to modify caching process of R * R^T matrix. See EvaluateImpl() in lrsdp_function_impl.hpp for more details.

Definition at line 36 of file lrsdp_function.hpp.

Constructor & Destructor Documentation

◆ LRSDPFunction() [1/2]

LRSDPFunction ( const SDPType &  sdp,
const arma::mat &  initialPoint 
)

Construct the LRSDPFunction from the given SDP.

Parameters
sdp
initialPoint

◆ LRSDPFunction() [2/2]

LRSDPFunction ( const size_t  numSparseConstraints,
const size_t  numDenseConstraints,
const arma::mat &  initialPoint 
)

Construct the LRSDPFunction with the given initial point and number of constraints.

Note n_cols of the initialPoint specifies the rank.

Set the A_x, B_x, and C_x matrices for each constraint using the A_x(), B_x(), and C_x() functions, for x in {sparse, dense}.

Parameters
numSparseConstraints
numDenseConstraints
initialPoint

Member Function Documentation

◆ Evaluate()

double Evaluate ( const arma::mat &  coordinates) const

Evaluate the objective function of the LRSDP (no constraints) at the given coordinates.

Referenced by LRSDPFunction< mlpack::optimization::SDP< arma::sp_mat > >::RRT().

◆ EvaluateConstraint()

double EvaluateConstraint ( const size_t  index,
const arma::mat &  coordinates 
) const

Evaluate a particular constraint of the LRSDP at the given coordinates.

◆ GetInitialPoint()

const arma::mat& GetInitialPoint ( ) const
inline

Get the initial point of the LRSDP.

Definition at line 92 of file lrsdp_function.hpp.

◆ Gradient()

void Gradient ( const arma::mat &  coordinates,
arma::mat &  gradient 
) const

Evaluate the gradient of the LRSDP (no constraints) at the given coordinates.

Referenced by LRSDPFunction< mlpack::optimization::SDP< arma::sp_mat > >::RRT().

◆ GradientConstraint()

void GradientConstraint ( const size_t  index,
const arma::mat &  coordinates,
arma::mat &  gradient 
) const

Evaluate the gradient of a particular constraint of the LRSDP at the given coordinates.

◆ NumConstraints()

size_t NumConstraints ( ) const
inline

Get the total number of constraints in the LRSDP.

Definition at line 89 of file lrsdp_function.hpp.

◆ RRT() [1/2]

const arma::mat& RRT ( ) const
inline

Get R*R^T matrix.

Definition at line 101 of file lrsdp_function.hpp.

◆ RRT() [2/2]

arma::mat& RRT ( )
inline

Modify R*R^T matrix.

Definition at line 104 of file lrsdp_function.hpp.

◆ SDP() [1/2]

const SDPType& SDP ( ) const
inline

Return the SDP object representing the problem.

Definition at line 95 of file lrsdp_function.hpp.

◆ SDP() [2/2]

SDPType& SDP ( )
inline

Modify the SDP object representing the problem.

Definition at line 98 of file lrsdp_function.hpp.


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