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
Christopher Rackauckas
@ChrisRackauckas
Okay cool!
I am currently wrapping a bunch of packages into DifferentialEquations.jl, and would like to have that as one of the options to choose from.
Just let me know when you got something you want to show.