15 #ifndef __MLPACK_CORE_OPTIMIZERS_SDP_LRSDP_HPP 16 #define __MLPACK_CORE_OPTIMIZERS_SDP_LRSDP_HPP 24 namespace optimization {
31 template <
typename SDPType>
44 LRSDP(
const size_t numSparseConstraints,
45 const size_t numDenseConstraints,
46 const arma::mat& initialPoint);
56 LRSDP(
const SDPType& sdp,
57 const arma::mat& initialPoint);
65 double Optimize(arma::mat& coordinates);
68 const SDPType&
SDP()
const {
return function.
SDP(); }
70 SDPType&
SDP() {
return function.
SDP(); }
94 #include "lrsdp_impl.hpp" Linear algebra utility functions, generally performed on matrices or vectors.
The objective function that LRSDP is trying to optimize.
const AugLagrangian< LRSDPFunction< SDPType > > & AugLag() const
Return the augmented Lagrangian object.
LRSDP is the implementation of Monteiro and Burer's formulation of low-rank semidefinite programs (LR...
LRSDPFunction< SDPType > & Function()
Modify the function to be optimized.
The AugLagrangian class implements the Augmented Lagrangian method of optimization.
LRSDP(const size_t numSparseConstraints, const size_t numDenseConstraints, const arma::mat &initialPoint)
Create an LRSDP to be optimized.
SDP()
Initialize this SDP to an empty state.
AugLagrangian< LRSDPFunction< SDPType > > augLag
The AugLagrangian object which will be used for optimization.
const SDPType & SDP() const
Return the SDP that will be solved.
Include all of the base components required to write MLPACK methods, and the main MLPACK Doxygen docu...
SDPType & SDP()
Modify the SDP that will be solved.
const LRSDPFunction< SDPType > & Function() const
Return the function to be optimized.
AugLagrangian< LRSDPFunction< SDPType > > & AugLag()
Modify the augmented Lagrangian object.
double Optimize(arma::mat &coordinates)
Optimize the LRSDP and return the final objective value.