We at JuliaDiffEq are excited to release DifferentialEquations.jl 3.0. It was a systematic dismantling of a list of “what tasks should we really accomplish well?”. See this blog post for details:
The purpose of 3.0 was to take a step back and see what other DiffEq suites had, and build the best pieces of each of them. This resulted in the following comparison:
But post-3.0 this means we’ll have some new focuses. Our ODE/SDE/DDE solvers are quite complete, so there will be a minor focus in developing native versions of some pieces (BDF, radau, IMEX, exponential integrators), many of which we already have wrapped or would make great Google Summer of Code projects. My focus will likely (no guarantees) be based around development of modeling tools which utilize DifferentialEquations.jl and unique new algorithms for SDEs, along with fixing odds and ends of course.
But one major goal for 4.0 is finding out how to unify specification and interfaces for PDEs in Julia. I know that other people (such as @John_Gibson) are focused on solving PDEs. Each of the methods we create will do better/worse on different problems, and so what I want to have down during the next time frame is a method for specifying new PDEs and ways for authors to plugin new solvers for these PDE types (along with extra information required to make the solving efficient). Under this interface I hope we can build a more cohesive and comprehensive set of PDE solvers than what has been seen before, with the ability to “plug and play” different solver methods not only easing the entry for users, but also allowing methods researchers easily compare and benchmark methods. Please let me know if you have PDE solvers which should be taken into account. Thanks.