CGAL 5.3 - CGAL and Solvers
|
Concept providing functions to extract eigenvectors and eigenvalues from covariance matrices represented by an array a
, using symmetric diagonalization.
For example, a matrix of dimension 3 is defined as follows:
FT | Number type |
dim | Dimension of the matrices and vectors |
Public Types | |
typedef std::array< FT, dim > | Vector |
typedef std::array< FT, dim *dim > | Matrix |
typedef std::array< FT,(dim *(dim+1)/2)> | Covariance_matrix |
Static Public Member Functions | |
static bool | diagonalize_selfadjoint_covariance_matrix (const Covariance_matrix &cov, Vector &eigenvalues) |
Fill eigenvalues with the eigenvalues of the covariance matrix represented by cov . More... | |
static bool | diagonalize_selfadjoint_covariance_matrix (const Covariance_matrix &cov, Vector &eigenvalues, Matrix &eigenvectors) |
Fill eigenvalues with the eigenvalues and eigenvectors with the eigenvectors of the covariance matrix represented by cov . More... | |
static bool | extract_largest_eigenvector_of_covariance_matrix (const Covariance_matrix &cov, Vector &normal) |
Extract the eigenvector associated to the largest eigenvalue of the covariance matrix represented by cov . More... | |
|
static |
Fill eigenvalues
with the eigenvalues of the covariance matrix represented by cov
.
Eigenvalues are sorted by increasing order.
true
if the operation was successful and false
otherwise.
|
static |
Fill eigenvalues
with the eigenvalues and eigenvectors
with the eigenvectors of the covariance matrix represented by cov
.
Eigenvalues are sorted by increasing order.
true
if the operation was successful and false
otherwise.
|
static |
Extract the eigenvector associated to the largest eigenvalue of the covariance matrix represented by cov
.
true
if the operation was successful and false
otherwise.