<p>Hi, <br>
I have created the implementation for metric MDS with euclidean dissimilarity. Scope for non metric and other dissimiliarity functions has been provided for now which could be extended later. The papers used for this have been mentioned in the comments documentaton too.</p>

<p>For testing it separately, i calculated the dissimilarity of input dataset and applied MDS to get the lower-dimensional datapoints. Then again calulated the dissimilarity matrix with reduced dataset. Both the dissimilarity matrices are approximately coming the same. So i guess the MDS code is working fine.I tested the working by calling these functions separately and have not run the code for executable(mds_main) though.</p>

<p>Also tried testing in comparison to scikit. But i guess scikit is using a different implementation internally for MDS since their answers for reduced data come different everytime.</p>

<p>So later, a few changes can be incorporated if needed:<br>
1. Implementing non-metric<br>
2. Implmenting bunch of other distance metrics than euclidean, since with euclidean MDS is approximately equal to PCA.<br>
3. Returning the stress value and using other loss functions(like kruskal's).<br>
4. Computing the r-squares etc for reliability testing, as mentioned on this page <a href="http://en.wikipedia.org/wiki/Multidimensional_scaling">http://en.wikipedia.org/wiki/Multidimensional_scaling</a> </p>

<p>Please see or test for any changes. <br>
Thanks.</p>

<hr>

<h4>You can view, comment on, or merge this pull request online at:</h4>
<p>&nbsp;&nbsp;<a href='https://github.com/mlpack/mlpack/pull/430'>https://github.com/mlpack/mlpack/pull/430</a></p>

<h4>Commit Summary</h4>
<ul>
  <li>Implemented multi-dimensional scaling</li>
</ul>

<h4>File Changes</h4>
<ul>
  <li>
    <strong>A</strong>
    <a href="https://github.com/mlpack/mlpack/pull/430/files#diff-0">src/mlpack/methods/manifold/CMakeLists.txt</a>
    (23)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/mlpack/mlpack/pull/430/files#diff-1">src/mlpack/methods/manifold/mds.cpp</a>
    (87)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/mlpack/mlpack/pull/430/files#diff-2">src/mlpack/methods/manifold/mds.hpp</a>
    (96)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/mlpack/mlpack/pull/430/files#diff-3">src/mlpack/methods/manifold/mds_main.cpp</a>
    (53)
  </li>
</ul>

<h4>Patch Links:</h4>
<ul>
  <li><a href='https://github.com/mlpack/mlpack/pull/430.patch'>https://github.com/mlpack/mlpack/pull/430.patch</a></li>
  <li><a href='https://github.com/mlpack/mlpack/pull/430.diff'>https://github.com/mlpack/mlpack/pull/430.diff</a></li>
</ul>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">&mdash;<br>Reply to this email directly or <a href="https://github.com/mlpack/mlpack/pull/430">view it on GitHub</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/AJ4bFPDCQ-_kitHw4MVbGasdAKcJwTpXks5n8tbngaJpZM4D7GAx.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/430"></link>
    <meta itemprop="name" content="View Pull Request"></meta>
  </div>
  <meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>