13 #ifndef MLPACK_METHODS_MATRIX_COMPLETION_MATRIX_COMPLETION_HPP    14 #define MLPACK_METHODS_MATRIX_COMPLETION_MATRIX_COMPLETION_HPP    16 #include <ensmallen.hpp>    20 namespace matrix_completion {
    70                    const arma::umat& indices,
    71                    const arma::vec& values,
    88                    const arma::umat& indices,
    89                    const arma::vec& values,
    90                    const arma::mat& initialPoint);
   104                    const arma::umat& indices,
   105                    const arma::vec& values);
   112   void Recover(arma::mat& recovered);
   115   const ens::LRSDP<ens::SDP<arma::sp_mat>>& 
Sdp()
 const   120   ens::LRSDP<ens::SDP<arma::sp_mat>>& 
Sdp() { 
return sdp; }
   133   ens::LRSDP<ens::SDP<arma::sp_mat>> sdp;
   142   static size_t DefaultRank(
const size_t m, 
const size_t n, 
const size_t p);
 Linear algebra utility functions, generally performed on matrices or vectors. 
 
MatrixCompletion(const size_t m, const size_t n, const arma::umat &indices, const arma::vec &values, const size_t r)
Construct a matrix completion problem, specifying the maximum rank of the solution. 
 
The core includes that mlpack expects; standard C++ includes and Armadillo. 
 
ens::LRSDP< ens::SDP< arma::sp_mat > > & Sdp()
Modify the underlying SDP. 
 
const ens::LRSDP< ens::SDP< arma::sp_mat > > & Sdp() const
Return the underlying SDP. 
 
void Recover(arma::mat &recovered)
Solve the underlying SDP to fill in the remaining values. 
 
This class implements the popular nuclear norm minimization heuristic for matrix completion problems...