#include <memory_resource>#include <tuple>#include <nk/value/value.hpp>Go to the source code of this file.
Functions | |
| std::tuple< Value, Value > | nk::linalg::eig_symmetric (const Value &A, std::pmr::memory_resource *mr=nullptr) |
| Symmetric eigendecomposition ([V, D] = eig(A)). | |
| Value | nk::linalg::eig_values (const Value &A, std::pmr::memory_resource *mr=nullptr) |
| Eigenvalues only (e = eig(A) single-output form, symmetric). | |
| bool | nk::linalg::isSymmetricApprox (const Value &A, double tol) |
| Approximate-symmetry test used to pick the symmetric (Jacobi) vs general (char-poly) eig path. | |
| Value | nk::linalg::poly_of_matrix (const Value &A, std::pmr::memory_resource *mr=nullptr) |
| Characteristic polynomial of a matrix (p = poly(A)). | |
| Value | nk::linalg::eig_general_values (const Value &A, std::pmr::memory_resource *mr=nullptr) |
| General (non-symmetric) eigenvalues via characteristic polynomial. | |
| std::tuple< Value, Value > | nk::linalg::eig_general_VD (const Value &A, std::pmr::memory_resource *mr=nullptr) |
| General [V, D] eig for real-eigenvalue asymmetric A. | |
| std::tuple< Value, Value > | nk::linalg::hess (const Value &A, std::pmr::memory_resource *mr=nullptr) |
| Hessenberg reduction ([P, H] = hess(A)). | |
| Value | nk::linalg::hess_H_only (const Value &A, std::pmr::memory_resource *mr=nullptr) |
| Hessenberg-only output (H = hess(A) single-output form). | |
| std::tuple< Value, Value > | nk::linalg::schur_sym (const Value &A, std::pmr::memory_resource *mr=nullptr) |
| Schur decomposition for symmetric A ([U, T] = schur(A)). | |
| std::tuple< Value, Value > | nk::linalg::schur_general (const Value &A, std::pmr::memory_resource *mr=nullptr) |
| Real Schur decomposition for general (nonsymmetric) A ([U, T] = schur(A)). | |
| Value | nk::linalg::sylvester_sym (const Value &A, const Value &B, const Value &C, std::pmr::memory_resource *mr=nullptr) |
| Sylvester equation for symmetric A and B (X = sylvester_sym(A, B, C)). | |
| Value | nk::linalg::polyeig_values (Span< const Value > coeffs, std::pmr::memory_resource *mr=nullptr) |
| Polynomial eigenvalue problem (e = polyeig(A0, A1, ..., Ak), possibly [V, e]). | |
| std::tuple< Value, Value > | nk::linalg::polyeig_VE (Span< const Value > coeffs, std::pmr::memory_resource *mr=nullptr) |
| Polynomial eigenvalue problem, eigenvectors + eigenvalues ([V, e] = polyeig(A0, ..., Ak)). | |
| Value | nk::linalg::ordeig (const Value &T, std::pmr::memory_resource *mr=nullptr) |
| Eigenvalues from a (quasi-)triangular Schur factor (e = ordeig(T)). | |