mlpack  master
Public Member Functions | Private Attributes | List of all members
mlpack::optimization::LovaszThetaSDP Class Reference

This function is the Lovasz-Theta semidefinite program, as implemented in the following paper: More...

Public Member Functions

 LovaszThetaSDP ()
 
 LovaszThetaSDP (const arma::mat &edges)
 Initialize the Lovasz-Theta SDP with the given set of edges. More...
 
const arma::mat & Edges () const
 
arma::mat & Edges ()
 
double Evaluate (const arma::mat &coordinates)
 
double EvaluateConstraint (const size_t index, const arma::mat &coordinates)
 
const arma::mat & GetInitialPoint ()
 
void Gradient (const arma::mat &coordinates, arma::mat &gradient)
 
void GradientConstraint (const size_t index, const arma::mat &coordinates, arma::mat &gradient)
 
size_t NumConstraints () const
 

Private Attributes

arma::mat edges
 
arma::mat initialPoint
 
size_t vertices
 

Detailed Description

This function is the Lovasz-Theta semidefinite program, as implemented in the following paper:

S. Burer, R. Monteiro "A nonlinear programming algorithm for solving semidefinite programs via low-rank factorization." Journal of Mathematical Programming, 2004

Given a simple, undirected graph G = (V, E), the Lovasz-Theta SDP is defined by:

min_X{Tr(-(e e^T)^T X) : Tr(X) = 1, X_ij = 0 for all (i, j) in E, X >= 0}

where e is the vector of all ones and X has dimension |V| x |V|.

In the Monteiro-Burer formulation, we take X = R * R^T, where R is the coordinates given to the Evaluate(), Gradient(), EvaluateConstraint(), and GradientConstraint() functions.

Definition at line 103 of file aug_lagrangian_test_functions.hpp.

Constructor & Destructor Documentation

mlpack::optimization::LovaszThetaSDP::LovaszThetaSDP ( )
mlpack::optimization::LovaszThetaSDP::LovaszThetaSDP ( const arma::mat &  edges)

Initialize the Lovasz-Theta SDP with the given set of edges.

The edge matrix should consist of rows of two dimensions, where dimension 0 is the first vertex of the edge and dimension 1 is the second edge (or vice versa, as it doesn't make a difference).

Parameters
edgesMatrix of edges.

Member Function Documentation

const arma::mat& mlpack::optimization::LovaszThetaSDP::Edges ( ) const
inline

Definition at line 130 of file aug_lagrangian_test_functions.hpp.

arma::mat& mlpack::optimization::LovaszThetaSDP::Edges ( )
inline

Definition at line 131 of file aug_lagrangian_test_functions.hpp.

double mlpack::optimization::LovaszThetaSDP::Evaluate ( const arma::mat &  coordinates)
double mlpack::optimization::LovaszThetaSDP::EvaluateConstraint ( const size_t  index,
const arma::mat &  coordinates 
)
const arma::mat& mlpack::optimization::LovaszThetaSDP::GetInitialPoint ( )
void mlpack::optimization::LovaszThetaSDP::Gradient ( const arma::mat &  coordinates,
arma::mat &  gradient 
)
void mlpack::optimization::LovaszThetaSDP::GradientConstraint ( const size_t  index,
const arma::mat &  coordinates,
arma::mat &  gradient 
)
size_t mlpack::optimization::LovaszThetaSDP::NumConstraints ( ) const

Member Data Documentation

arma::mat mlpack::optimization::LovaszThetaSDP::edges
private

Definition at line 134 of file aug_lagrangian_test_functions.hpp.

arma::mat mlpack::optimization::LovaszThetaSDP::initialPoint
private

Definition at line 137 of file aug_lagrangian_test_functions.hpp.

size_t mlpack::optimization::LovaszThetaSDP::vertices
private

Definition at line 135 of file aug_lagrangian_test_functions.hpp.


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