numerics 0.1.0
Loading...
Searching...
No Matches
jacobi_eig.hpp
Go to the documentation of this file.
1/// @file eigen/jacobi_eig.hpp
2/// @brief Full symmetric eigendecomposition via cyclic Jacobi sweeps.
3///
4/// Applies orthogonal plane rotations until
5/// \f$\sum_{i\ne j} A_{ij}^2 < \mathrm{tol}^2\f$.
6#pragma once
7
8#include "core/matrix.hpp"
9#include "core/policy.hpp"
10#include "core/vector.hpp"
11
12namespace num {
13
14/// @brief Symmetric eigendecomposition \f$A=V\Lambda V^T\f$.
21
23 real tol = 1e-12,
24 idx max_sweeps = 100,
25 Backend backend = lapack_backend);
26
27} // namespace num
Backend enum and default backend selection.
Dense row-major matrix templated over scalar type T.
double real
Definition types.hpp:10
Backend
Definition policy.hpp:7
std::size_t idx
Definition types.hpp:11
constexpr Backend lapack_backend
Definition policy.hpp:66
constexpr real e
Definition math.hpp:44
EigenResult eig_sym(const Matrix &A, real tol=1e-12, idx max_sweeps=100, Backend backend=lapack_backend)
Definition eig.cpp:11
Symmetric eigendecomposition .
Dense vector storage and operations.