Rust implementation of Inverse Laplace Transform with Concentrated Matrix-Exponential Functions.
Source: https://inverselaplace.org
Approximate a sine function where $x = 1$ with a maximum of 50 function evaluations.
The Laplace transform of sine is $h^*(s) = 1 / (s^2 + 1)$.
rust
fn main() {
let result = iltcme::laplace_inversion(|s| 1.0 / (s.powi(2) + 1.0), 1.0, 50);
approx::relative_eq!(result, 1.0_f64.sin(), epsilon = 0.001);
}
This crate parses a large list of precomputed parameters from a JSON file and converts them to a Rust file which is internally used. The effect of this is that the build time might be slow, no runtime penalty should be paid though.