sMark Notes [DRAFT]

Mark M. Tobenkin’s Notes on Math and Other Topics

03 Jan 2021

Derivation of the Bortz Equation

This post gives a derivation of the Bortz Equation, which is useful for deriving integration schemes for rotation matrices. Let $C: [t_0, t_f] \rightarrow SO(3)$ be defined via a smoothly time-varying rotation axis $\phi: [t_0, t_f] \rightarrow \mathbb{R}^3$: $$ C(t) = \exp([\phi(t)]_\times). $$ We know that the derivative of $C$ can always be written as: $$ \dot C(t) = C(t)[\omega(t)]_\times, \qquad \omega: [t_0, t_f] \rightarrow \mathbb{R}^3. $$ In this setting the Bortz Equation relates $\dot \phi(t)$ and $\omega(t)$ by: $$ \begin{align} \dot \phi(t) &= \left (I + \frac{1}{2} [\phi(t)]_\times +\frac{1}{\|\phi(t)\|^2} \left( 1 -\frac{\|\phi(t)\|\sin(\|\phi(t)\|)}{2(1 - \cos(\| \phi(t) \|))} \right) [\phi(t)]_\times^2\right )\omega(t). \end{align} $$

A good direct derivation of this equation is given in On the rotation vector differential equation. This post will give a different (and somewhat informal) derivation based on the following simple observations.

Proof: Based on the previous post on the directional dervative of $\exp$ on $\mathfrak{so}(3)$ and the chain rule: $$ \begin{align} \frac{d}{dt} C(t) &= \frac{d}{dt} \exp([\phi(t)]_\times)\\
&=C(t)\left [\left(\frac{\sin(\theta)}{\theta} I - \frac{1- \cos(\theta)}{\theta^2} [\phi(t)]_\times + \frac{\theta - \sin(\theta)}{\theta^3} \phi(t) \phi(t)^T\right) \dot \phi(t)\right]_\times \end{align} $$ where $\theta = \| \phi(t)\|$. Our goal is then to solve: $$ \left(\frac{\sin(\theta)}{\theta} I - \frac{1- \cos(\theta)}{\theta^2} [\phi(t)]_\times + \frac{\theta - \sin(\theta)}{\theta^3} \phi(t) \phi(t)^T\right) \dot \phi(t) = \omega(t). $$ If $\theta = 0$, then we clearly have $\dot \phi(t) = \omega(t)$. Otherwise, let $u = \frac{\phi(t)}{\theta}$, and write: $$ \left(\underbrace{\frac{\sin(\theta)}{\theta}}_{a} I + \underbrace{\frac{\cos(\theta)-1}{\theta}}_b [u]_\times + \underbrace{\frac{\theta - \sin(\theta)}{\theta}}_c uu^T\right) \dot \phi(t) = \omega(t). $$ In the post on $\mathfrak{so}(3)$ power series we found that matrices such as this have an inverse given by $dI + e [u]_\times + f uu^T$ with: $$ \begin{equation} \begin{bmatrix}d \\ e \\ f\end{bmatrix} = \frac{1}{a^2+b^2}\begin{bmatrix}a \\ -b \\ \frac{b^2-ca}{a+c}\end{bmatrix}. \end{equation} $$ Here that gives: $$ \begin{equation} \begin{bmatrix}d \\ e \\ f\end{bmatrix} = \frac{1}{2(1-\cos(\theta))}\begin{bmatrix}\theta\sin(\theta) \\ \theta(1-\cos(\theta)) \\ 2(1-\cos(\theta)) - \sin(\theta)\theta\end{bmatrix}. \end{equation} $$ Since $[u]_\times^2 = uu^T - I$, we have: $$ \begin{align} \dot \phi(t) &= \left((d+f) I + e [u]_\times + f [u]_\times^2 \right)\omega(t) \\
&= \left(I + \frac{\theta}2 [u]_\times + \left(1 - \frac{\sin(\theta)\theta}{2(1-\cos(\theta)}\right) [u]_\times^2 \right)\omega(t) \end{align} $$ as was to be shown.