akreon-linalg
Fixed-size linear algebra and numerical methods in C++26.
Loading...
Searching...
No Matches
matrix_exp.hpp File Reference
Include dependency graph for matrix_exp.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  linalg
 

Functions

template<VectorContainer Vec>
requires (Complex<vector_element_t<Vec>>)
constexpr auto linalg::make_group_permutation (const Vec &D, real_type_t< vector_element_t< Vec > > tol=1e-10)
 Group approximately equal eigenvalues into contiguous index runs.
 
template<std::size_t N>
constexpr auto linalg::invert_permutation (const Vector< std::size_t, N > &p)
 Invert an index permutation.
 
template<MatrixContainer Mat>
constexpr auto linalg::permute_ptjp (const Mat &J, const Vector< std::size_t, mat_rows_v< Mat > > &p)
 Reorder matrix rows and columns by the same permutation.
 
template<MatrixContainer Mat>
constexpr auto linalg::unpermute_papt (const Mat &A, const Vector< std::size_t, mat_rows_v< Mat > > &p)
 Scatter matrix entries through a row-and-column permutation.
 
template<SquareMatrix Mat>
constexpr auto linalg::matrix_exp (const Mat &A)
 Compute exp(A) using its eigenvector and generalized-eigenvector basis.