Principal axes: \( U \Lambda^{1/2} \), the eigenvectors of \( P = U \Lambda U^T \) scaled by the roots of their eigenvalues, largest first, with a negative eigenvalue taken as zero, so that it never fails.
More...
#include <EmrysFilter/Distributions/Roots.h>
|
|
template<typename Scalar> |
| using | Report = ClampReport |
| | The report: the eigenvalues taken as zero.
|
|
| template<typename Derived> |
| internal::SquareMatrixOf< Derived > | root (Eigen::MatrixBase< Derived > const &cov) const |
| template<typename Derived, typename Sink> |
| internal::SquareMatrixOf< Derived > | root (Eigen::MatrixBase< Derived > const &cov, Sink &&sink) const |
| template<typename Derived> |
| internal::SquareMatrixOf< Derived > | rootFromFactor (Eigen::MatrixBase< Derived > const &factor) const |
|
|
static constexpr bool | canFail = false |
| | every positive semidefinite part has a root
|
Principal axes: \( U \Lambda^{1/2} \), the eigenvectors of \( P = U \Lambda U^T \) scaled by the roots of their eigenvalues, largest first, with a negative eigenvalue taken as zero, so that it never fails.
Each column's entry of largest magnitude is positive, so that the eigenvectors' arbitrary signs do not move the points. From a factor it takes the singular value decomposition of its triangular factor, \( L = U \Sigma V^T \), so the covariance is never formed. The points then lie along the directions of greatest and least spread, whatever the order of the coordinates.
Its report is a ClampReport of the eigenvalues taken as zero.
- See also
- principal(), Golub and Van Loan (2013), symmetric eigendecomposition, SVD
◆ root() [1/2]
template<typename Derived>
| internal::SquareMatrixOf< Derived > Emrys::roots::Principal::root |
( |
Eigen::MatrixBase< Derived > const & | cov | ) |
const |
|
inlinenodiscard |
- Returns
- the principal root of cov, of which only the lower triangle is read
◆ root() [2/2]
template<typename Derived, typename Sink>
| internal::SquareMatrixOf< Derived > Emrys::roots::Principal::root |
( |
Eigen::MatrixBase< Derived > const & | cov, |
|
|
Sink && | sink ) const |
|
inlinenodiscard |
- Returns
- the principal root of cov, calling sink with the ClampReport
◆ rootFromFactor()
template<typename Derived>
| internal::SquareMatrixOf< Derived > Emrys::roots::Principal::rootFromFactor |
( |
Eigen::MatrixBase< Derived > const & | factor | ) |
const |
|
inlinenodiscard |
- Returns
- the principal root of \( F F^T \) for factor, from its singular value decomposition
The documentation for this struct was generated from the following file: