15 #ifndef __MLPACK_CORE_OPTIMIZERS_SDP_LRSDP_FUNCTION_HPP
16 #define __MLPACK_CORE_OPTIMIZERS_SDP_LRSDP_FUNCTION_HPP
23 namespace optimization {
28 template <
typename SDPType>
54 const size_t numDenseConstraints,
55 const arma::mat& initialPoint);
61 double Evaluate(
const arma::mat& coordinates)
const;
67 void Gradient(
const arma::mat& coordinates, arma::mat& gradient)
const;
73 const arma::mat& coordinates)
const;
79 const arma::mat& coordinates,
80 arma::mat& gradient)
const;
89 const SDPType&
SDP()
const {
return sdp; }
106 const arma::mat& coordinates)
const;
110 const arma::mat& coordinates)
const;
114 const arma::mat& coordinates,
115 arma::mat& gradient)
const;
119 const arma::mat& coordinates,
120 arma::mat& gradient)
const;
126 #include "lrsdp_function_impl.hpp"
128 #endif // __MLPACK_CORE_OPTIMIZERS_SDP_LRSDP_FUNCTION_HPP
const SDPType & SDP() const
Return the SDP object representing the problem.
Linear algebra utility functions, generally performed on matrices or vectors.
double EvaluateConstraint(const size_t index, const arma::mat &coordinates) const
Evaluate a particular constraint of the LRSDP at the given coordinates.
void GradientConstraint(const size_t index, const arma::mat &coordinates, arma::mat &gradient) const
Evaluate the gradient of a particular constraint of the LRSDP at the given coordinates.
The objective function that LRSDP is trying to optimize.
SDPType sdp
SDP object representing the problem.
SDPType & SDP()
Modify the SDP object representing the problem.
const arma::mat & GetInitialPoint() const
Get the initial point of the LRSDP.
double Evaluate(const arma::mat &coordinates) const
Evaluate the objective function of the LRSDP (no constraints) at the given coordinates.
Include all of the base components required to write MLPACK methods, and the main MLPACK Doxygen docu...
arma::mat initialPoint
Initial point.
LRSDPFunction(const SDPType &sdp, const arma::mat &initialPoint)
Construct the LRSDPFunction from the given SDP.
void Gradient(const arma::mat &coordinates, arma::mat &gradient) const
Evaluate the gradient of the LRSDP (no constraints) at the given coordinates.
This is a utility class used by AugLagrangian, meant to wrap a LagrangianFunction into a function usa...
size_t NumConstraints() const
Get the total number of constraints in the LRSDP.