There are a bunch of articles which I think tend to show that Waveform Relaxation "kind of" came out on top of the other parallel methods (parallel extrapolation, special Runge-Kutta methods)
But it's supposedly a little difficult to program.
That's why I want to try it out.
I know Hairer has parallel extrapolation in ODEX
so there's no reason to code that
Paweł Biernat
@pwl
thanks!
Christopher Rackauckas
@ChrisRackauckas
The special Runge-Kutta methods you just need to use threading. They just turn it into solving Ax=b each step in some simplified way.
In the end I am looking to try a few of them since I am interesting in which ones may be useful for stochastic differential equations.
But I don't really think that any program puts all of these together already, so this is something to be done.
While I'm at it, the other ODE methods I am looking into implementing are super high order RKs.
Let me know if you plan on implementing any of these so we don't double up!
Paweł Biernat
@pwl
have you looked at high order Taylor methods?
Christopher Rackauckas
@ChrisRackauckas
I mean, I know how they're derived.
Paweł Biernat
@pwl
There was some package on github (now removed), that implemented arbitrary order Taylor methods, which I hooked up to ODE to test the backend API and the method, they worked!
Christopher Rackauckas
@ChrisRackauckas
Did you have to provide the derivatives?
_
Paweł Biernat
@pwl
ForwardDiff does it for you
Christopher Rackauckas
@ChrisRackauckas
But for really high derivatives, that doesn't give more overhead?
Paweł Biernat
@pwl
it does, but on the other hand you can make longer stepsizes
Christopher Rackauckas
@ChrisRackauckas
Depending on the function being "nice"
Paweł Biernat
@pwl
so it sort of balances out
Christopher Rackauckas
@ChrisRackauckas
With automatic differentiation... that's interesting. I'd like to test that out vs other methods.
Paweł Biernat
@pwl
I tested it with a hyperbolic PDE that I work on and it worked as quick as RK
Christopher Rackauckas
@ChrisRackauckas
I thought of using symbolic differentiation before with Taylor methods.
Paweł Biernat
@pwl
at least the same order of magnitude
the fun thing with this method is that you can prescribe an error much lower then the machine epsilon
like reltol 1e-30 with Float64
Christopher Rackauckas
@ChrisRackauckas
Probably scales better than extrapolation.
Paweł Biernat
@pwl
but this is a niche application
Christopher Rackauckas
@ChrisRackauckas
Well you'd need to go to other numbers to avoid weird truncation error problems at that point.
But a battle between high-order extrapolation, RK16, and 16th order Taylor series via automatic differentiation.