This function is the Lovasz-Theta semidefinite program, as implemented in the following paper:. More...
Public Member Functions | |
| LovaszThetaSDP (const arma::mat &edges) | |
| Initialize the Lovasz-Theta SDP with the given set of edges. | |
| LovaszThetaSDP () | |
| arma::mat & | Edges () |
| const arma::mat & | Edges () const |
| 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 |
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.
| 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).
| edges | Matrix of edges. |
| arma::mat& mlpack::optimization::LovaszThetaSDP::Edges | ( | ) | [inline] |
Definition at line 143 of file aug_lagrangian_test_functions.hpp.
| const arma::mat& mlpack::optimization::LovaszThetaSDP::Edges | ( | ) | const [inline] |
Definition at line 142 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 |
arma::mat mlpack::optimization::LovaszThetaSDP::edges [private] |
Definition at line 146 of file aug_lagrangian_test_functions.hpp.
arma::mat mlpack::optimization::LovaszThetaSDP::initialPoint [private] |
Definition at line 149 of file aug_lagrangian_test_functions.hpp.
size_t mlpack::optimization::LovaszThetaSDP::vertices [private] |
Definition at line 147 of file aug_lagrangian_test_functions.hpp.
1.6.1