1 #ifndef GENESIS_UTILS_MATH_PCA_H_ 2 #define GENESIS_UTILS_MATH_PCA_H_ 157 size_t max_iterations = 1000
183 size_t components = 0,
190 #endif // include guard std::vector< double > eigenvalues
std::vector< double > intermediates
Standardize the mean, but not the variance of the data before performing the PCA. ...
Container namespace for all symbols of genesis in order to keep them separate when used as a library...
Helper stucture that collects the output of principal_component_analysis().
PcaData principal_component_analysis(Matrix< double > const &data, size_t components, PcaStandardization standardization)
Perfom a Principal Component Analysis on a given data Matrix.
Matrix< double > eigenvectors
TridiagonalDecompositionData reduce_to_tridiagonal_matrix(Matrix< double > &data)
Triangular decomposition of a symmetric matrix.
Matrix< double > projection
PcaStandardization
Setting for principal_component_analysis() to determine which form of standardization of the data to ...
void tridiagonal_ql_algorithm(Matrix< double > &data, TridiagonalDecompositionData &tri, size_t max_iterations)
Reduce a symmetric matrix to a symmetric tridiagonal matrix.
std::vector< double > eigenvalues
Standardize the mean and variance of the data before performing the PCA.
Helper structure used for the eigenvalue decomposition in reduce_to_tridiagonal_matrix() and tridiago...
Do not perform any standardization prior to performing the PCA.