<p>In <a href="https://github.com/mlpack/mlpack/pull/374#discussion-diff-22743591">src/mlpack/methods/matrix_completion/matrix_completion.hpp</a>:</p>
<pre style='color:#555'>> + * @param m Number of rows of original matrix.
> + * @param n Number of columns of original matrix.
> + * @param indices Matrix containing the indices of the known entries (must be
> + * [2 x p]).
> + * @param values Vector containing the values of the known entries (must be
> + * length p).
> + */
> + MatrixCompletion(const size_t m,
> + const size_t n,
> + const arma::umat& indices,
> + const arma::vec& values);
> +
> + /**
> + * Solve the underlying SDP to fill in the remaining values.
> + */
> + void Recover();
</pre>
<p>Personall I think <code>void Recover(arma::mat& output)</code> is a better option here, and maybe we ought to call it <code>Apply</code> and attempt to make it similar to the interface required by CF's FactorizerType class: <a href="http://mlpack.org/doxygen.php?doc=classmlpack_1_1cf_1_1CF.html#_details">http://mlpack.org/doxygen.php?doc=classmlpack_1_1cf_1_1CF.html#_details</a> . That may take a little more thinking, though, and would probably require refactoring the class so the LRSDP constraints are set when <code>Recover()</code> is called.</p>
<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br>Reply to this email directly or <a href="https://github.com/mlpack/mlpack/pull/374/files#r22743591">view it on GitHub</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/AJ4bFMhKrk9RSXdpe9cROaNhn4ARI4r5ks5ngDzMgaJpZM4DOLPX.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
<link itemprop="url" href="https://github.com/mlpack/mlpack/pull/374/files#r22743591"></link>
<meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>