mlpack
a scalable c++ machine learning library
docs
mlpack: mlpack::optimization::LovaszThetaSDP Class Reference

mlpack::optimization::LovaszThetaSDP Class Reference

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

List of all members.

Public Member Functions

 LovaszThetaSDP ()
 LovaszThetaSDP (const arma::mat &edges)
 Initialize the Lovasz-Theta SDP with the given set of edges.
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 115 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:
edges Matrix of edges.

Member Function Documentation

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

Definition at line 142 of file aug_lagrangian_test_functions.hpp.

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

Definition at line 143 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


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