MLPACK  1.0.4
Public Member Functions | Private Attributes
mlpack::optimization::LRSDP Class Reference
Collaboration diagram for mlpack::optimization::LRSDP:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 LRSDP (const size_t numConstraints, const arma::mat &initialPoint)
 Create an LRSDP to be optimized.
 LRSDP (const size_t numConstraints, const arma::mat &initialPoint, AugLagrangian< LRSDP > &augLagrangian)
 Create an LRSDP to be optimized, passing in an already-created AugLagrangian object.
const std::vector< arma::mat > & A () const
 Return the vector of A matrices (which correspond to the constraints).
std::vector< arma::mat > & A ()
 Modify the veector of A matrices (which correspond to the constraints).
const arma::uvec & AModes () const
 Return the vector of modes for the A matrices.
arma::uvec & AModes ()
 Modify the vector of modes for the A matrices.
const AugLagrangian< LRSDP > & AugLag () const
 Return the augmented Lagrangian object.
AugLagrangian< LRSDP > & AugLag ()
 Modify the augmented Lagrangian object.
const arma::vec & B () const
 Return the vector of B values.
arma::vec & B ()
 Modify the vector of B values.
const arma::mat & C () const
 Return the objective function matrix (C).
arma::mat & C ()
 Modify the objective function matrix (C).
double Evaluate (const arma::mat &coordinates) const
 Evaluate the objective function of the LRSDP (no constraints) at the given coordinates.
double EvaluateConstraint (const size_t index, const arma::mat &coordinates) const
 Evaluate a particular constraint of the LRSDP at the given coordinates.
const arma::mat & GetInitialPoint ()
 Get the initial point of the LRSDP.
void Gradient (const arma::mat &coordinates, arma::mat &gradient) const
 Evaluate the gradient of the LRSDP (no constraints) at the given coordinates.
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.
size_t NumConstraints () const
 Get the number of constraints in the LRSDP.
double Optimize (arma::mat &coordinates)
 Optimize the LRSDP and return the final objective value.

Private Attributes

std::vector< arma::mat > a
 A_i for each constraint.
arma::uvec aModes
 1 if entries in matrix, 0 for normal.
AugLagrangian< LRSDP > & augLag
 The AugLagrangian object which will be used for optimization.
AugLagrangian< LRSDPaugLagInternal
 Internal AugLagrangian object, if one was not passed at construction time.
arma::vec b
 b_i for each constraint.
arma::mat c
 For objective function.
arma::mat initialPoint
 Initial point.

Detailed Description

Definition at line 32 of file lrsdp.hpp.


Constructor & Destructor Documentation

mlpack::optimization::LRSDP::LRSDP ( const size_t  numConstraints,
const arma::mat &  initialPoint 
)

Create an LRSDP to be optimized.

The solution will end up being a matrix of size (rank) x (rows). To construct each constraint and the objective function, use the functions A(), B(), and C() to set them correctly.

Parameters:
numConstraintsNumber of constraints in the problem.
rankRank of the solution (<= rows).
rowsNumber of rows in the solution.
mlpack::optimization::LRSDP::LRSDP ( const size_t  numConstraints,
const arma::mat &  initialPoint,
AugLagrangian< LRSDP > &  augLagrangian 
)

Create an LRSDP to be optimized, passing in an already-created AugLagrangian object.

The given initial point should be set to the size (rows) x (rank), where (rank) is the reduced rank of the problem.

Parameters:
numConstraintsNumber of constraints in the problem.
initialPointInitial point of the optimization.
auglagPre-initialized AugLagrangian<LRSDP> object.

Member Function Documentation

const std::vector<arma::mat>& mlpack::optimization::LRSDP::A ( ) const [inline]

Return the vector of A matrices (which correspond to the constraints).

Definition at line 106 of file lrsdp.hpp.

References a.

std::vector<arma::mat>& mlpack::optimization::LRSDP::A ( ) [inline]

Modify the veector of A matrices (which correspond to the constraints).

Definition at line 108 of file lrsdp.hpp.

References a.

const arma::uvec& mlpack::optimization::LRSDP::AModes ( ) const [inline]

Return the vector of modes for the A matrices.

Definition at line 111 of file lrsdp.hpp.

References aModes.

arma::uvec& mlpack::optimization::LRSDP::AModes ( ) [inline]

Modify the vector of modes for the A matrices.

Definition at line 113 of file lrsdp.hpp.

References aModes.

Return the augmented Lagrangian object.

Definition at line 121 of file lrsdp.hpp.

References augLag.

Modify the augmented Lagrangian object.

Definition at line 123 of file lrsdp.hpp.

References augLag.

const arma::vec& mlpack::optimization::LRSDP::B ( ) const [inline]

Return the vector of B values.

Definition at line 116 of file lrsdp.hpp.

References b.

arma::vec& mlpack::optimization::LRSDP::B ( ) [inline]

Modify the vector of B values.

Definition at line 118 of file lrsdp.hpp.

References b.

const arma::mat& mlpack::optimization::LRSDP::C ( ) const [inline]

Return the objective function matrix (C).

Definition at line 101 of file lrsdp.hpp.

References c.

arma::mat& mlpack::optimization::LRSDP::C ( ) [inline]

Modify the objective function matrix (C).

Definition at line 103 of file lrsdp.hpp.

References c.

double mlpack::optimization::LRSDP::Evaluate ( const arma::mat &  coordinates) const

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

This is used by AugLagrangian<LRSDP>.

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

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

Get the initial point of the LRSDP.

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

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

This is used by AugLagrangian<LRSDP>.

void mlpack::optimization::LRSDP::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.

Get the number of constraints in the LRSDP.

Definition at line 95 of file lrsdp.hpp.

References b.

double mlpack::optimization::LRSDP::Optimize ( arma::mat &  coordinates)

Optimize the LRSDP and return the final objective value.

The given coordinates will be modified to contain the final solution.

Parameters:
coordinatesStarting coordinates for the optimization.

Member Data Documentation

std::vector<arma::mat> mlpack::optimization::LRSDP::a [private]

A_i for each constraint.

Definition at line 131 of file lrsdp.hpp.

Referenced by A().

1 if entries in matrix, 0 for normal.

Definition at line 136 of file lrsdp.hpp.

Referenced by AModes().

The AugLagrangian object which will be used for optimization.

Definition at line 145 of file lrsdp.hpp.

Referenced by AugLag().

Internal AugLagrangian object, if one was not passed at construction time.

Definition at line 142 of file lrsdp.hpp.

arma::vec mlpack::optimization::LRSDP::b [private]

b_i for each constraint.

Definition at line 133 of file lrsdp.hpp.

Referenced by B(), and NumConstraints().

arma::mat mlpack::optimization::LRSDP::c [private]

For objective function.

Definition at line 129 of file lrsdp.hpp.

Referenced by C().

Initial point.

Definition at line 139 of file lrsdp.hpp.


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