8
$\begingroup$

I'm reading 3D math primer for graphics and game development by Fletcher Dunn and Ian Parberry. On page 170, the logarithm of quaternion is defined as

\begin{align} \log \mathbf q &= \log \left( \begin{bmatrix} \cos \alpha & \mathbf n \sin \alpha \end{bmatrix} \right) \\\\ &\equiv \begin{bmatrix} 0 & \alpha \mathbf n \end{bmatrix} \end{align}

I don't see how $\log \left( \begin{bmatrix} \cos \alpha & \mathbf n \sin \alpha \end{bmatrix} \right)$ is equal to $\begin{bmatrix} 0 & \alpha \mathbf n \end{bmatrix}$. Can anyone help me out?

Thanks.

$\endgroup$
  • $\begingroup$ I don't see how you can have a log of a quat, since quat addition is commutative but multiplication not. The standard rule for logarithms, log(ab)=log(a)+log(b) would not apply except over a subset where log(ab)=log(ba). Sorry, Lie algebra is above my paygrade. There are other unreal objects that have perfectly valid logarithms, like elements of a finite field with a single generator of the multiplicative group. I have in mind the Hebrew alphabet and the practice of gematria, as it maps onto the integers 1 to 22, and arithmetic is done modulo 23. $\endgroup$ – richard1941 Jul 21 '17 at 17:54
  • $\begingroup$ @richard1941 The log map is still defined even if the group operator is not commutative: see e.g. en.wikipedia.org/wiki/Logarithm_of_a_matrix#Properties $\endgroup$ – Gus May 10 at 18:39
9
$\begingroup$

I can't see the page in Google books, but what you apparently have there is the logarithm of a unit quaternion q, which has scalar part $\cos(\theta)$ and vector part $\sin(\theta)\vec{n}$ where $\vec{n}$ is a unit vector.

Since the logarithm of an arbitrary quaternion $q=(s\;\;v)$ is defined as

$\ln q=(\ln\,|q|\;\;\frac{v}{\|v\|}\arccos\frac{s}{|q|})$

where $|q|$ is the norm of the quaternion and $\|v\|$ is the norm of the vector part, applying that formula to a unit quaternion yields a scalar part of 0 (the logarithm of the norm of a unit quaternion is zero), and you should now be able to derive the formula for the vector part.

$\endgroup$
  • $\begingroup$ Hi JM, it's possible my browser's not rendering that correctly, or maybe there's a typo in the markup, should there be a comma between ln |q| and v/|v|? Tweaking that line to $\ln q=(\ln|q|,\frac{v}{\|v\|}\arccos\frac{s}{|q|})$ makes it appear the way I think it should. (Currently it's q=(\ln\\,|q|\;\;...), which looks like parts might be double-escaped.) $\endgroup$ – John P Nov 16 '18 at 9:33
  • 1
    $\begingroup$ @John, I defined the "arbitrary quaternion" to be $q=(s\;\;v)$ in the preceding sentence, so that convention is followed in the logarithm. If you prefer, you can separate the scalar and vector parts with a comma in your own notation. $\endgroup$ – J. M. is a poor mathematician Dec 31 '18 at 10:32
  • $\begingroup$ Thanks, that makes sense. There's nothing wrong with minimal notation, I just didn't recognize the spacing as a part of the formatting. $\endgroup$ – John P Jan 6 at 19:32
3
$\begingroup$

Just recall $\exp(\alpha i) = \cos \alpha + i \sin \alpha$ for complex numbers, the quaternion (remember a quaternion is just 3 complex numbers which all have the same real part) version is by direct analogue and take logarithm of both sides.

$\endgroup$

Your Answer

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