Symmetric axes: the principal square root \( P^{1/2} = U \Lambda^{1/2} U^T \), the one symmetric positive semidefinite root, 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
|
Symmetric axes: the principal square root \( P^{1/2} = U \Lambda^{1/2} U^T \), the one symmetric positive semidefinite root, with a negative eigenvalue taken as zero, so that it never fails.
The one choice that does not depend on the coordinates' basis, rotating with them, and the costliest, an eigendecomposition and a product, which is why it is not the default. From a factor it takes the singular value decomposition of its triangular factor, as Principal does.
Its report is a ClampReport of the eigenvalues taken as zero.
- See also
- symmetric(), Golub and Van Loan (2013), principal square root
◆ root() [1/2]
template<typename Derived>
| internal::SquareMatrixOf< Derived > Emrys::roots::Symmetric::root |
( |
Eigen::MatrixBase< Derived > const & | cov | ) |
const |
|
inlinenodiscard |
- Returns
- the principal square root of cov, of which only the lower triangle is read
◆ root() [2/2]
template<typename Derived, typename Sink>
| internal::SquareMatrixOf< Derived > Emrys::roots::Symmetric::root |
( |
Eigen::MatrixBase< Derived > const & | cov, |
|
|
Sink && | sink ) const |
|
inlinenodiscard |
- Returns
- the principal square root of cov, calling sink with the ClampReport
◆ rootFromFactor()
template<typename Derived>
| internal::SquareMatrixOf< Derived > Emrys::roots::Symmetric::rootFromFactor |
( |
Eigen::MatrixBase< Derived > const & | factor | ) |
const |
|
inlinenodiscard |
- Returns
- the principal square root of \( F F^T \) for factor, from its singular value decomposition
The documentation for this struct was generated from the following file: