5
$\begingroup$

A few days ago, I asked how constraints like $A^T A = I$ can be implemented if one wishes to integrate differential equations of the form $\dot{A}=f(A,t)$. Kirill was so kind to point out that a projection step on the Stiefel manifold after one integration step (for example after one Runge Kutta step) is sufficient to get the correct solution. This projection $\pi(A)$ can be found via the polar decomposition of the matrix $A$.

Now my question is, why a projection after one full RK step is sufficient. If one uses, for example, a 4th order RK method then intermediate sampling points are used. These intermediate points do not necessarily fulfil the constraint $A^T A = I$. Why do I not have to reorthogonalise the matrix A after one intermediate step but only after a full RK4 step? Is this still a valid 4th order method or is there an additional error introduced because the constraint is not fulfilled at the intermediate sampling points?

Papers like the one from Higham (1997) seem to indicate that it is perfectly fine to use any one-step method between the projections on the manifold and no accuracy is lost. I do not see the reason why this is true.

$\endgroup$
4
$\begingroup$

As a matter of fact, if you project each Runge-Kutta stage you will (in general) reduce the method to first order accuracy; this effect is similar to the order reduction that can occur due to boundary condition implementations. To explain it briefly, notice that the first stage of the method is just a forward Euler step, which gives a first-order accurate approximation of the solution. Hence it will be $O(\Delta t^2)$ away from the constraint manifold, and by projecting you introduce an $O(\Delta t^2)$ error that won't go away. For a more detailed explanation see this paper.

So projecting only after a full step is probably best.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.