We are trying to solve the fractional in space-time heat equation
Important: this is the part in which the heat is present, all eigenvalues of
There's no need to worry about all this mathematical stuff, the solution is given by
When dealing with small upper-Hessenberg matrices, or whichever matrix, you either
- Do the Schur-Parlett algorithm, which I don't understand why you would do that.
- Use quadrature rules.
- Use Monte-Carlo methods for the quadrature rules above. and I'm going to explain you how to do the last two, which are essentially the same.
There is a quadrature rule here https://arxiv.org/abs/0805.3823 (best paper in FractionalDiffEq ever) that says that you can actually compute the Mittag-Leffler function of a matrix by averaging the values of the exponential of the matrix at different times (or sampling from the solution in the classical regime at different end times, however you want to think about it)
$$
E_\alpha(-\lambda A^\alpha)u(0)=\int_0^\infty dr \exp(-rA)u(0)K_\alpha(r,\lambda)
$$
it is just that easy! This function
- Computing the exponential of you upper Hessenberg matrix
- Adding up the exponential at different times with different weights - The weight can be deterministic: meaning that you think of a quadrature rule and add the values up yourself. - You obtain weights by sampling, so: Monte-Carlo.
First option means numerically evaluating this integral
This might seem daunting but I fully understand it, and I left a Julia file fully commented so that you can see the code. There is nothing much to write left! Just experiments. Doing Monte-Carlo is kind of stupid to be completely honest but I don't know a quadrature rule for the Lévy stable subordinator, we can talk about this :P, I do Monte-Carlo because I can't be bothered, but you should do quadratures and use the semigroup property of the exponential