|
tesseract++ 0.0.1
N-dimensional tensor library for embedded systems
|
Jacobi eigenvalue decomposition for small symmetric matrices. More...
#include "config.h"#include "utilities/expected.h"#include "matrix_traits.h"#include "fused/fused_matrix.h"#include "fused/fused_vector.h"#include "math/math_utils.h"
Go to the source code of this file.
Classes | |
| struct | matrix_algorithms::EigenResult< T, N > |
| Result of eigenvalue decomposition. More... | |
Namespaces | |
| namespace | matrix_algorithms |
Functions | |
| template<typename T , my_size_t N> | |
| Expected< EigenResult< T, N >, MatrixStatus > | matrix_algorithms::eigen_jacobi (const FusedMatrix< T, N, N > &A, my_size_t max_iters=100, T tol=T(PRECISION_TOLERANCE)) |
| Compute eigenvalues and eigenvectors of a symmetric matrix via Jacobi. | |
Jacobi eigenvalue decomposition for small symmetric matrices.
Computes all eigenvalues and eigenvectors of a symmetric matrix A by iteratively applying Givens rotations to zero the largest off-diagonal element until convergence. The result is A = V·D·Vᵀ where:
Repeat until off-diagonal norm < tolerance:
Complexity: O(N²) per sweep, typically 5–10 sweeps for convergence. Total: O(5N²) to O(10N²) for small matrices.