Gift orders of magnitude of speed up to random strangers

Certain mathematical problems have a structure that makes them easy to solver compared to the base problem. A rigid body mechanics problem given in a generic interface for differential equations is transformed into an easier problem which can be solved many orders of magnitude faster.


A special subclass of linear differential equations are nilpotent linear differential equations. If the matrix exponential of such a matrix is calculated (as is done commonly to accelerate solving linear differential equations) the matrix exponential is actually just a polynomial, if this known before (at the time when the ODE object is created) the time solution and be reduced drastically at increased accuracy.
While this transformation is obscure it can be readily available to anyone using the SciML ecosystem thanks to the magic of multiple dispatch.
We will look at an unconstrained rigid body dynamics problem that occur in video games and demonstrate a 100x to 1000x performance advantage over other solvers available from DifferentialEquations.jl. This not only introduces a neat example of mathematical trickery but should serve to guide and inspire the audience how they can integrate this one strange trick from a problem domain they have experience in and make the larger Julia ecosystem better.