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 ()
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 110 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 137 of file aug_lagrangian_test_functions.hpp.

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

Definition at line 138 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::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 141 of file aug_lagrangian_test_functions.hpp.

 arma::mat mlpack::optimization::LovaszThetaSDP::initialPoint` [private]`

Definition at line 144 of file aug_lagrangian_test_functions.hpp.

 size_t mlpack::optimization::LovaszThetaSDP::vertices` [private]`

Definition at line 142 of file aug_lagrangian_test_functions.hpp.

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