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.
I know ForwardDiff no longer exports the derivative functions, so someone will have to go in and change those kinds of things.
Paweł Biernat
@pwl
I don't know how @PerezHz would feel about it, maybe you should write him first?
Christopher Rackauckas
@ChrisRackauckas
Okay, I'll email him.
Thanks for the heads up on this
Paweł Biernat
@pwl
if you won't be able to reach him you can try to write @lbenet, he will know what the status of the package is
I think he is his advisor, but I'm not so sure about it now:-)
Jorge Pérez
@PerezHz
Hi everyone! @ChrisRackauckas thanks for contacting us, glad to know you're interested in what we've been working on! :smile: Yes, we did take it down, we're re-organizing it (it's pretty much mixed with some celestial mechanics stuff) and planning to re-upload the generic parts of the code