![]() |
Shamrock 2025.10.0
Astrophysical Code
|
#include "shambase/aliases_int.hpp"#include "shambase/type_traits.hpp"#include "matrix_op.hpp"#include "shambackends/sycl.hpp"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.