![]() |
Shamrock 2025.10.0
Astrophysical Code
|
#include "shambase/aliases_int.hpp"#include "shambase/type_traits.hpp"#include "matrix_op.hpp"#include "shambackends/sycl.hpp"
Include dependency graph for matrix_exponential.hpp:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Namespaces | |
| namespace | shammath |
| namespace for math utility | |
Functions | |
| constexpr auto | shammath::sequence_mk () |
| precomputed optimal Taylor's polynomial orders | |
| constexpr auto | shammath::sequence_qk () |
| precomputed optimal Paterson-Stockmeyer intergers (it's used to compute the matrix power) | |
| constexpr auto | shammath::sequence_rk () |
| precomputed optimal Paterson-Stockmeyer polynomial degrees | |
| constexpr auto | shammath::sequence_theta_mk () |
| precomputed optimal sequence based on backward error analysis | |
| constexpr auto | shammath::sequence_nheta_mk () |
| precomputed optimal sequence based on backward error analysis | |
| constexpr auto | shammath::define_bexp_coef () |
| 1/(i!) | |
| template<class T , class Extents1 , class Layout1 , class Accessor1 > | |
| void | shammath::order_scale (const i32 K, std::array< i32, 9 > &seq_mk, std::array< f64, 9 > &seq_theta_mk, const std::mdspan< T, Extents1, Layout1, Accessor1 > &A, const size_t size_A, i32 &k_star, i32 &m_star, i32 &s_star) |
| this function compute the Taylor's polynomial order (m_star) the optimal number of matrix product during the taylor evaluation step(k_star) and the optimal scaling factor (s_star) | |
| template<typename T , class U , class Extents1 , class Extents2 , class Extents3 , class Extents4 , class Extents5 , class Layout1 , class Layout2 , class Layout3 , class Layout4 , class Layout5 , class Accessor1 , class Accessor2 , class Accessor3 , class Accessor4 , class Accessor5 > | |
| void | shammath::taylor_eval (const i32 r, const i32 q, std::array< f64, 30 > &bi_seq, const size_t size, const std::mdspan< T, Extents1, Layout1, Accessor1 > &A, const std::mdspan< T, Extents2, Layout2, Accessor2 > &F, const std::mdspan< T, Extents3, Layout3, Accessor3 > &B, const std::mdspan< T, Extents4, Layout4, Accessor4 > &I, const std::mdspan< T, Extents5, Layout5, Accessor5 > &Id) |
| This function compute the Taylor polynomial up to order m_star. | |
| template<typename T , class U , class Extents1 , class Extents2 , class Extents3 , class Extents4 , class Extents5 , class Layout1 , class Layout2 , class Layout3 , class Layout4 , class Layout5 , class Accessor1 , class Accessor2 , class Accessor3 , class Accessor4 , class Accessor5 > | |
| void | shammath::mat_exp (const i32 K, const std::mdspan< T, Extents1, Layout1, Accessor1 > &A, const std::mdspan< T, Extents2, Layout2, Accessor2 > &F, const std::mdspan< T, Extents3, Layout3, Accessor3 > &B, const std::mdspan< T, Extents4, Layout4, Accessor4 > &I, const std::mdspan< T, Extents5, Layout5, Accessor5 > &Id, const size_t size_A) |
| matrix scaling-squaring Talylor-based matrix exponential | |
Definition in file matrix_exponential.hpp.