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.

  • 0
    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.2017-07-21

2 Answers 2

9

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.

  • 0
    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.)2018-11-16
  • 1
    @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.2018-12-31
3

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.