A library for working with phylogenetic and population genetic data.
v0.27.0
pca.hpp File Reference
#include "genesis/utils/containers/matrix.hpp"
#include <vector>

Go to the source code of this file.

Classes

struct  PcaData
 Helper stucture that collects the output of principal_component_analysis(). More...
 
struct  TridiagonalDecompositionData
 Helper structure used for the eigenvalue decomposition in reduce_to_tridiagonal_matrix() and tridiagonal_ql_algorithm(). See there for details. More...
 

Namespaces

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

Enumerations

enum  PcaStandardization { kCorrelation, kCovariance, kSSCP }
 Setting for principal_component_analysis() to determine which form of standardization of the data to use prior to perfoming the PCA. More...
 

Functions

PcaData principal_component_analysis (Matrix< double > const &data, size_t components=0, PcaStandardization standardization=PcaStandardization::kCorrelation)
 Perfom a Principal Component Analysis on a given data Matrix. More...
 
TridiagonalDecompositionData reduce_to_tridiagonal_matrix (Matrix< double > &data)
 Triangular decomposition of a symmetric matrix. More...
 
void tridiagonal_ql_algorithm (Matrix< double > &data, TridiagonalDecompositionData &tri, size_t max_iterations=1000)
 Reduce a symmetric matrix to a symmetric tridiagonal matrix. More...