A library for working with phylogenetic and population genetic data.
v0.27.0
mds.cpp File Reference
#include "genesis/utils/math/mds.hpp"
#include "genesis/utils/containers/matrix/operators.hpp"
#include "genesis/utils/core/algorithm.hpp"
#include "genesis/utils/core/options.hpp"
#include "genesis/utils/math/common.hpp"
#include "genesis/utils/math/distance.hpp"
#include "genesis/utils/math/matrix.hpp"
#include <algorithm>
#include <cassert>
#include <cmath>
#include <numeric>
#include <stdexcept>

Go to the source code of this file.

Namespaces

 genesis
 Container namespace for all symbols of genesis in order to keep them separate when used as a library.
 
 genesis::utils
 

Functions

Matrix< double > multi_dimensional_scaling (Matrix< double > const &distances, Matrix< double > const &initial_values, size_t dimensions=2, size_t iterations=100, MdsAlgorithm algorithm=MdsAlgorithm::kUcf)
 Multi-Dimensional Scaling (MDS). More...
 
Matrix< double > multi_dimensional_scaling (Matrix< double > const &distances, size_t dimensions=2, size_t iterations=100, MdsAlgorithm algorithm=MdsAlgorithm::kUcf)
 Multi-Dimensional Scaling (MDS). More...
 
static Matrix< double > multi_dimensional_scaling_smacof (Matrix< double > const &distances, Matrix< double > const &initial_values, size_t dimensions, size_t iterations)
 
static Matrix< double > multi_dimensional_scaling_ucf (Matrix< double > const &distances, Matrix< double > const &initial_values, size_t dimensions, size_t iterations)
 

Variables

constexpr double MDS_EPSILON = 0.0000001