Accelerating the pace of engineering and science

# quatmultiply

Calculate product of two quaternions

## Syntax

n = quatmultiply(q,r)

## Description

n = quatmultiply(q,r) calculates the quaternion product, n, for two given quaternions, q and r. Inputs q and r can each be either an m-by-4 matrix containing m quaternions, or a single 1-by-4 quaternion. n returns an m-by-4 matrix of quaternion products. Each element of q and r must be a real number. Additionally, q and r have their scalar number as the first column.

The quaternions have the form of

$q={q}_{0}+i{q}_{1}+j{q}_{2}+k{q}_{3}$

and

$r={r}_{0}+i{r}_{1}+j{r}_{2}+k{r}_{3}$

The quaternion product has the form of

$n=q×r={n}_{0}+i{n}_{1}+j{n}_{2}+k{n}_{3}$

where

$\begin{array}{l}{n}_{0}=\left({r}_{0}{q}_{0}-{r}_{1}{q}_{1}-{r}_{2}{q}_{2}-{r}_{3}{q}_{3}\right)\\ {n}_{1}=\left({r}_{0}{q}_{1}+{r}_{1}{q}_{0}-{r}_{2}{q}_{3}+{r}_{3}{q}_{2}\right)\\ {n}_{2}=\left({r}_{0}{q}_{2}+{r}_{1}{q}_{3}+{r}_{2}{q}_{0}-{r}_{3}{q}_{1}\right)\\ {n}_{3}=\left({r}_{0}{q}_{3}-{r}_{1}{q}_{2}+{r}_{2}{q}_{1}+{r}_{3}{q}_{0}\right)\end{array}$

 Note   Quaternion multiplication is not commutative.

## Examples

Determine the product of two 1-by-4 quaternions:

```q = [1 0 1 0];
r = [1 0.5 0.5 0.75];
mult = quatmultiply(q, r)

mult =

0.5000    1.2500    1.5000    0.2500```

Determine the product of a 1-by-4 quaternion with itself:

```q = [1 0 1 0];
mult = quatmultiply(q)

mult =

0     0     2     0```

Determine the product of 1-by-4 and 2-by-4 quaternions:

```q = [1 0 1 0];
r = [1 0.5 0.5 0.75; 2 1 0.1 0.1];
mult = quatmultiply(q, r)

mult =

0.5000    1.2500    1.5000    0.2500
1.9000    1.1000    2.1000   -0.9000```

## References

[1] Stevens, Brian L., Frank L. Lewis, Aircraft Control and Simulation, Wiley–Interscience, 2nd Edition.