<?xml version="1.0" encoding="UTF-8"?>

<record version="1" id="1089">
 <title>Quaternions for Physics and Engineering: Orientation, Notation, and Conventions</title>
 <name>NotationQuaternionsForPhysicsAndEngineeringOrientation</name>
 <created>2026-08-23 17:12:41</created>
 <modified>2026-08-23 17:12:41</modified>
 <type>Topic</type>
 <creator id="1" name="bloftin"/>
 <modifier id="1" name="bloftin"/>
 <author id="1" name="bloftin"/>
 <classification>
	<category scheme="pacs" code="02.10.Hh"/>
	<category scheme="pacs" code="02.40.Yy"/>
 </classification>
 <related>
	<object name="QuaternionDefinitionAndBasicAlgebra"/>
 </related>
 <preamble>% this is the default PhysicsLibrary preamble.  as your knowledge
% of TeX increases, you will probably want to edit this, but
% it should be fine as is for beginners.

% almost certainly you want these
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{amsfonts}

% used for TeXing text within eps files
%\usepackage{psfrag}
% need this for including graphics (\includegraphics)
%\usepackage{graphicx}
% for neatly defining theorems and propositions
%\usepackage{amsthm}
% making logically defined graphics
%\usepackage{xypic}

% there are many more packages, add them here as you need them

% define commands here</preamble>
 <content>\section*{Quaternions for Physics and Engineering: Orientation, Notation, and Conventions}

Quaternions are widely used to represent three-dimensional orientation in
spacecraft attitude determination and control, inertial navigation, robotics,
multibody dynamics, computer graphics, and rigid-body simulation.  Their
practical advantages are substantial: a unit quaternion represents an arbitrary
proper rotation with only four parameters, avoids the coordinate singularities
of Euler-angle descriptions, composes rotations efficiently, and can be
propagated directly from angular velocity.

The difficulty is not usually the quaternion algebra itself.  The difficulty is
that several independent convention choices occur in the literature and in
software.  Two sources can display nearly identical equations while assigning
opposite meanings to them.  A reliable engineering treatment must therefore
state its conventions before using quaternion formulas.

This entry establishes the convention used by the PhysicsLibrary quaternion
series.  It also shows how to recognize the most common alternatives.  The
algebraic details of quaternion multiplication, conjugation, norm, inverse,
axis--angle construction, vector rotation, direction-cosine matrices, Euler
angles, and quaternion kinematics are developed in subsequent entries.

\section{The five convention choices that must not be conflated}

A quaternion implementation normally makes at least five logically separate
choices:

\begin{enumerate}
\item the quaternion multiplication law;
\item the ordering used to display or store the four components;
\item the handedness of the physical coordinate frame and positive rotation;
\item whether a rotation is interpreted actively or passively;
\item the direction of a frame-to-frame coordinate transformation.
\end{enumerate}

These choices are related in applications, but they are not identical.  In
particular, \emph{scalar-first versus scalar-last storage does not determine the
quaternion multiplication law}, and \emph{active versus passive does not by
itself determine whether Hamilton or flipped multiplication is being used}.

For this reason, identifying a convention only by a label such as ``JPL,''
``Hamilton,'' ``engineering,'' ``aerospace,'' ``right-handed,'' or
``left-handed'' is unsafe unless the defining equations are also given.

\section{PhysicsLibrary convention contract}

Unless an article explicitly states otherwise, the PhysicsLibrary quaternion
series uses the following convention.

\begin{center}
\fbox{\begin{minipage}{0.94\linewidth}
\textbf{PhysicsLibrary quaternion convention}

\begin{enumerate}
\item Physical Cartesian frames are right-handed orthonormal frames unless
      otherwise stated.
\item Positive physical rotation follows the usual right-hand screw rule.
\item Quaternion multiplication is Hamilton multiplication:
      \[
      \mathbf i\mathbf j=\mathbf k,\qquad
      \mathbf j\mathbf k=\mathbf i,\qquad
      \mathbf k\mathbf i=\mathbf j,
      \]
      with reversed products changing sign.
\item A quaternion is written scalar first,
      \[
      q=q_w+q_x\mathbf i+q_y\mathbf j+q_z\mathbf k
      \quad\longleftrightarrow\quad
      \begin{bmatrix}q_w&amp;q_x&amp;q_y&amp;q_z\end{bmatrix}^{T}.
      \]
      Software storage order is treated as a separate implementation detail and
      must be declared when code is discussed.
\item A positive active rotation through angle $\theta$ about unit axis
      $\hat{\mathbf u}$ is represented by
      \[
      q=\cos\frac{\theta}{2}
      +\hat{\mathbf u}\,\sin\frac{\theta}{2}.
      \]
\item A vector embedded as the pure quaternion
      $v=0+\mathbf v$ is actively rotated according to
      \[
      v'=qvq^{*},
      \]
      for a unit quaternion $q$.
\item Frame quaternions use the notation ${}^{A}q_{B}$ and map coordinates
      from frame $B$ into frame $A$.  Thus
      \[
      {}^{A}v={}^{A}q_{B}\,{}^{B}v\,({}^{A}q_{B})^{*}.
      \]
      This is a passive coordinate transformation: the physical vector is
      unchanged while its coordinates are re-expressed.
\item Composition follows the same frame-chain order as direction-cosine
      matrices:
      \[
      {}^{A}q_{C}={}^{A}q_{B}\,{}^{B}q_{C}.
      \]
\end{enumerate}
\end{minipage}}
\end{center}

This choice keeps the original Hamilton algebra while giving frame-chain
notation that behaves naturally in mechanics, navigation, and robotics.

\section{Quaternion algebra versus component storage}

A quaternion is an element of a four-dimensional real algebra,
\[
q=q_w+q_x\mathbf i+q_y\mathbf j+q_z\mathbf k.
\]
The symbols $\mathbf i,\mathbf j,\mathbf k$ satisfy
\[
\mathbf i^2=\mathbf j^2=\mathbf k^2
=\mathbf i\mathbf j\mathbf k=-1.
\]
Consequently,
\[
\mathbf i\mathbf j=\mathbf k,
\qquad
\mathbf j\mathbf i=-\mathbf k,
\]
and similarly for cyclic permutations.  The product is therefore not
commutative.

The same quaternion may be stored in several array layouts.  For example,
\[
q=0.9238795+0.3826834\,\mathbf k
\]
may be stored scalar first as
\[
[\,0.9238795,\ 0,\ 0,\ 0.3826834\,]
\]
or scalar last as
\[
[\,0,\ 0,\ 0.3826834,\ 0.9238795\,].
\]
The algebra has not changed.  Only the memory or display layout has changed.

This distinction is critical when moving equations into software.  Reordering
an array is a permutation of components; changing the quaternion multiplication
law changes the signs and order in the algebra itself.

\section{Hamilton and flipped quaternion multiplication}

Let
\[
p=(p_w,\mathbf p),\qquad q=(q_w,\mathbf q),
\]
where $\mathbf p$ and $\mathbf q$ denote the three-component vector parts.
Hamilton multiplication is
\[
\boxed{
(p_w,\mathbf p)(q_w,\mathbf q)
=
\left(
 p_wq_w-\mathbf p\cdot\mathbf q,\;
 p_w\mathbf q+q_w\mathbf p+\mathbf p\times\mathbf q
\right).}
\tag{1}
\]
The sign of the cross-product term encodes the familiar Hamilton rule
$\mathbf i\mathbf j=\mathbf k$.

A second multiplication is common in parts of the spacecraft literature.  It
may be defined simply by reversing the Hamilton factors,
\[
\boxed{p\otimes q\equiv qp,}
\tag{2}
\]
where the product on the right is Hamilton multiplication.  Equation (2) gives
\[
(p_w,\mathbf p)\otimes(q_w,\mathbf q)
=
\left(
 p_wq_w-\mathbf p\cdot\mathbf q,\;
 p_w\mathbf q+q_w\mathbf p-\mathbf p\times\mathbf q
\right).
\tag{3}
\]
Hence a rapid diagnostic is
\[
\mathbf i\mathbf j=+\mathbf k
\quad\Longrightarrow\quad \text{Hamilton multiplication},
\]
whereas
\[
\mathbf i\otimes\mathbf j=-\mathbf k
\quad\Longrightarrow\quad \text{flipped/Shuster multiplication}.
\]
Sommer et al. call the latter the flipped or Shuster multiplication and explain
how it arose from a particular passive world-to-body quaternion-to-matrix
assignment used in spacecraft work.  Shuster's own historical discussion calls
Hamilton's ordering the traditional formulation and the later spacecraft
ordering the natural formulation because it was chosen to make quaternion
composition follow the same written order as the corresponding attitude-matrix
composition.

PhysicsLibrary uses Hamilton multiplication and does not redefine the product
in order to handle passive frame transformations.  Instead, the direction of
the frame map is written explicitly in the quaternion symbol.

\subsection*{A note on ``right-handed'' and ``left-handed'' quaternions}

Some books, papers, software documentation, and engineering discussions refer
to the two multiplication/sign conventions as \emph{right-handed} and
\emph{left-handed} quaternion conventions.  This terminology can be useful as
an informal mnemonic, because changing the sign of the vector cross-product
term reverses the orientation of the multiplication table.  It is also highly
overloaded.

``Right-handed'' may instead refer to the handedness of the coordinate basis,
the sign convention for positive rotation, the direction associated with a
right-handed screw, or the orientation chosen for a vector product.  Historical
quaternion literature itself contains incompatible uses of the term.  Joly, for
example, explicitly warned in 1905 that his right-handed screw convention for
positive rotation was opposite to Hamilton's convention, even though Hamilton
also called his own convention right-handed.

Accordingly, PhysicsLibrary does not use ``right-handed quaternion'' or
``left-handed quaternion'' as the primary definition of an algebra.  We state
the unambiguous test instead:
\[
\boxed{\mathbf i\mathbf j=\mathbf k\ \text{for the PhysicsLibrary/Hamilton product}.}
\]
Coordinate-frame handedness and positive rotation are stated separately.

\section{Active rotation and passive coordinate transformation}

This distinction is one of the most common sources of sign errors.

\subsection{Active viewpoint}

An active rotation changes a physical vector while the reference frame is held
fixed.  Let frame $A$ remain fixed and rotate the vector $\mathbf v$ through
$+90^{\circ}$ about $+\hat{\mathbf z}$.  With the PhysicsLibrary convention,
\[
q_z=\cos45^{\circ}+\mathbf k\sin45^{\circ}
=\frac{\sqrt2}{2}+\frac{\sqrt2}{2}\mathbf k.
\]
For the initial vector
\[
\mathbf v=\hat{\mathbf x},
\]
the quaternion sandwich gives
\[
q_z\,\mathbf i\,q_z^{*}=\mathbf j.
\]
Thus the active rotation sends
\[
\hat{\mathbf x}\longrightarrow\hat{\mathbf y}.
\]

\subsection{Passive viewpoint}

A passive transformation leaves the physical vector fixed and changes the
basis used to describe it.  Let frame $B$ be obtained by rotating the axes of
frame $A$ through $+90^{\circ}$ about $+\hat{\mathbf z}$.  The quaternion
${}^{A}q_B$ describes the orientation of $B$ relative to $A$ and maps
$B$-coordinates to $A$-coordinates:
\[
{}^{A}v={}^{A}q_B\,{}^{B}v\,({}^{A}q_B)^*.
\tag{4}
\]
For this example,
\[
{}^{A}q_B
=\frac{\sqrt2}{2}+\frac{\sqrt2}{2}\mathbf k.
\]
The inverse coordinate transformation is
\[
{}^{B}v=({}^{A}q_B)^*\,{}^{A}v\,{}^{A}q_B.
\tag{5}
\]
Therefore a physical vector whose $A$-coordinates are
\[
{}^{A}\mathbf v=\begin{bmatrix}1\\0\\0\end{bmatrix}
\]
has $B$-coordinates
\[
{}^{B}\mathbf v=\begin{bmatrix}0\\-1\\0\end{bmatrix}.
\]
Nothing physical has rotated in this passive calculation.  The minus sign
appears because the new $B$ axes themselves have rotated positively relative
to $A$.

\subsection{Why the same numbers appear in both viewpoints}

A rotation operator can be interpreted either as actively rotating a vector or
as describing the relative orientation of two frames.  A direction-cosine
matrix and a unit quaternion therefore do not become ``active objects'' or
``passive objects'' merely because of their numerical values.  Their meaning is
determined by the map being represented.

For this reason, a statement such as ``this quaternion is passive'' is
incomplete unless the author also states which coordinates it maps from and to.
PhysicsLibrary uses explicit frame superscripts and subscripts for that purpose.

\section{Frame direction and composition}

Let ${}^{A}q_B$ map coordinates from frame $B$ to frame $A$, and let
${}^{B}q_C$ map coordinates from $C$ to $B$.  Starting from a vector expressed
in $C$,
\[
{}^{B}v={}^{B}q_C\,{}^{C}v\,({}^{B}q_C)^*,
\]
then
\[
{}^{A}v={}^{A}q_B\,{}^{B}v\,({}^{A}q_B)^*.
\]
Substitution gives
\[
{}^{A}v=
\left({}^{A}q_B{}^{B}q_C\right)
{}^{C}v
\left({}^{A}q_B{}^{B}q_C\right)^*.
\]
Therefore
\[
\boxed{{}^{A}q_C={}^{A}q_B{}^{B}q_C.}
\tag{6}
\]
The intermediate frame $B$ cancels visually, just as it does in tensor and
coordinate-transformation notation.  Equation (6) is the convention used
throughout the PhysicsLibrary series.

The Space Shuttle working-relationships memorandum provides a useful historical
engineering example of why such declarations matter: it develops conversions
among Euler angles, quaternions, and transformation matrices for Shuttle
analysis and explicitly states the direction in which its transformation
matrices map coordinate components.  A formula should not be copied out of
such a source without carrying its frame-direction convention with it.

\section{Why the flipped multiplication appeared in spacecraft work}

The convention disagreement is not merely a matter of taste.  It arose from a
specific composition problem.

With one commonly used passive world-to-body quaternion-to-matrix assignment,
Hamilton multiplication gives an anti-homomorphism:
\[
C(pq)=C(q)C(p).
\tag{7}
\]
The order of the quaternion factors is reversed relative to the corresponding
matrix product.  In a large attitude-software system containing many reference
frames, this is an obvious source of mistakes.

Shuster advocated a flipped multiplication so that
\[
p\otimes q\equiv qp
\]
and therefore
\[
C(p\otimes q)=C(p)C(q).
\tag{8}
\]
This restores matching written order between the quaternion and matrix chains
for that quaternion-to-matrix convention.

Sommer et al. later pointed out that the flipped product is not necessary.  One
can retain Hamilton multiplication and change the quaternion-to-matrix
assignment (equivalently, use the inverse/conjugate quaternion in the passive
world-to-body mapping) so that the desired homomorphic composition property is
preserved.  PhysicsLibrary follows this Hamilton-compatible approach.

The practical lesson is more important than the historical dispute:
\begin{quote}
Never infer a quaternion convention from component order or from the word
``aerospace.''  Test the multiplication law, determine the frame-map direction,
and verify one known rotation.
\end{quote}

\section{A minimum convention declaration for engineering work}

Any paper, simulation, flight-software interface, or PhysicsLibrary entry that
uses quaternions should make enough information available to reconstruct the
following checklist:

\begin{enumerate}
\item Is the physical frame right-handed or left-handed?
\item What is the positive sense of rotation?
\item Is $\mathbf i\mathbf j=+\mathbf k$ or $-\mathbf k$?
\item Is the scalar component displayed/stored first or last?
\item Does the quaternion map frame $A$ to frame $B$, or $B$ to $A$?
\item Is the equation describing an active vector rotation or a passive
      coordinate change?
\item What is the quaternion-to-matrix relationship?
\item In a product $q_1q_2$, which physical rotation occurs first?
\end{enumerate}

If those questions are answered, most apparent quaternion disagreements become
simple conversion problems.

\section{Worked example 1: storage order is not multiplication order}

Suppose a software library documents a quaternion as
\[
[q_x,q_y,q_z,q_w]
\]
and also states
\[
\mathbf i\mathbf j=\mathbf k.
\]
The first statement says only that the array is scalar last.  The second
statement identifies the multiplication law as Hamilton multiplication.
Therefore this library is \emph{scalar-last Hamilton}, not automatically a
flipped or JPL multiplication implementation.

For a $+45^{\circ}$ active rotation about $+z$,
\[
q=\cos22.5^{\circ}+\mathbf k\sin22.5^{\circ}.
\]
PhysicsLibrary displays this as
\[
[\,0.9238795,\ 0,\ 0,\ 0.3826834\,],
\]
whereas the hypothetical software library stores
\[
[\,0,\ 0,\ 0.3826834,\ 0.9238795\,].
\]
They represent the same Hamilton quaternion.

\section{Worked example 2: active and passive signs}

Consider again a $+90^{\circ}$ rotation about $+z$.

For an active rotation of a vector,
\[
\hat{\mathbf x}\longrightarrow\hat{\mathbf y}.
\]
For a passive coordinate change into a frame whose axes have themselves been
rotated $+90^{\circ}$ about $+z$, the same fixed physical vector has coordinates
\[
\begin{bmatrix}1\\0\\0\end{bmatrix}_{A}
\longrightarrow
\begin{bmatrix}0\\-1\\0\end{bmatrix}_{B}.
\]
The opposite sign is not a contradiction.  The two operations answer different
questions.

\section{Worked example 3: detecting the multiplication convention}

An unfamiliar source gives the basis products
\[
\mathbf i\star\mathbf j=-\mathbf k,
\qquad
\mathbf j\star\mathbf k=-\mathbf i,
\qquad
\mathbf k\star\mathbf i=-\mathbf j.
\]
The vector cross-product term has the opposite sign from equation (1).
Therefore $\star$ is the flipped multiplication relative to the
PhysicsLibrary/Hamilton convention.

Before importing any rotation, DCM, or kinematic equation from that source, one
must either convert the multiplication convention or consistently convert the
associated quaternion-to-matrix and frame-map conventions as a set.

\section{Common pitfalls}

\begin{enumerate}
\item \textbf{Assuming scalar-last means JPL.}  It does not.  Storage order and
      multiplication are independent choices.
\item \textbf{Calling a formula active or passive without naming the frames.}
      A quaternion value alone does not determine the interpretation.
\item \textbf{Mixing $qvq^*$ and $q^*vq$ from different sources.}  These are
      inverse rotations for a unit quaternion.
\item \textbf{Copying a quaternion-to-DCM equation without its convention.}
      A transpose may represent the same physical orientation under the
      opposite mapping direction.
\item \textbf{Assuming ``right-handed quaternion'' is unambiguous.}  The phrase
      has been used for different algebraic, coordinate, and screw-sense
      conventions.
\item \textbf{Changing multiplication but not kinematics.}  Quaternion
      propagation equations depend on multiplication convention, frame map,
      and whether angular velocity is resolved in the body or reference frame.
\item \textbf{Forgetting the double representation.}  The unit quaternions $q$
      and $-q$ represent the same proper rotation.  This is developed in a later
      entry.
\end{enumerate}

\section{Exercises}

\begin{enumerate}
\item A library stores quaternions as $[q_x,q_y,q_z,q_w]$ and reports
      $\mathbf i\mathbf j=\mathbf k$.  Identify the component order and the
      multiplication convention.

\item A second library stores $[q_w,q_x,q_y,q_z]$ but reports
      $\mathbf i\star\mathbf j=-\mathbf k$.  Is it Hamilton multiplication?
      Does scalar-first storage change your answer?

\item Using
      \[
      q=\frac{\sqrt2}{2}+\frac{\sqrt2}{2}\mathbf k,
      \]
      state the result of actively rotating $\hat{\mathbf x}$ by $q$.  Then
      state the coordinates of the same fixed physical vector in a frame that
      has been rotated $+90^{\circ}$ about $+z$ relative to the original frame.

\item Show directly that replacing $q$ by $-q$ in the active rotation law
      $v'=qvq^*$ does not change $v'$.

\item Suppose ${}^{A}q_B$ maps $B$ coordinates to $A$ coordinates and
      ${}^{B}q_C$ maps $C$ coordinates to $B$ coordinates.  Derive the
      quaternion that maps $C$ coordinates directly to $A$ coordinates.
\end{enumerate}

\section{Solutions}

\subsection*{1. Scalar-last Hamilton}

The array order $[q_x,q_y,q_z,q_w]$ is scalar last.  The defining product
$\mathbf i\mathbf j=\mathbf k$ identifies Hamilton multiplication.  The two
facts are independent.

\subsection*{2. Scalar-first flipped multiplication}

The array is scalar first.  Since $\mathbf i\star\mathbf j=-\mathbf k$, the
multiplication is the flipped convention relative to Hamilton multiplication.
Scalar-first storage does not alter this conclusion.

\subsection*{3. Active versus passive}

The quaternion represents a positive $90^{\circ}$ rotation about $+z$ under
the PhysicsLibrary convention.  Therefore
\[
\hat{\mathbf x}\longrightarrow\hat{\mathbf y}
\]
for the active rotation.  If instead the physical vector is fixed and the
coordinate frame is rotated positively by $90^{\circ}$, then
\[
\begin{bmatrix}1\\0\\0\end{bmatrix}_{A}
\longrightarrow
\begin{bmatrix}0\\-1\\0\end{bmatrix}_{B}.
\]

\subsection*{4. The sign of a unit quaternion does not change the rotation}

Using $(-q)^*=-q^*$,
\[
(-q)v(-q)^*=(-q)v(-q^*)=qvq^*.
\]
Thus $q$ and $-q$ generate the same vector rotation.

\subsection*{5. Frame-chain composition}

Apply the $C$-to-$B$ map first and the $B$-to-$A$ map second:
\[
{}^{A}v
={}^{A}q_B
\left({}^{B}q_C{}^{C}v({}^{B}q_C)^*\right)
({}^{A}q_B)^*.
\]
Associativity gives
\[
{}^{A}v
=\left({}^{A}q_B{}^{B}q_C\right)
{}^{C}v
\left({}^{A}q_B{}^{B}q_C\right)^*,
\]
so
\[
\boxed{{}^{A}q_C={}^{A}q_B{}^{B}q_C.}
\]

\section{Relation to later PhysicsLibrary entries}

This entry deliberately stops before developing quaternion algebra and rotation
formulas in full.  The subsequent sequence derives:

\begin{enumerate}
\item quaternion definition and elementary algebra;
\item scalar--vector form of the Hamilton product;
\item conjugate, norm, and inverse;
\item axis--angle and unit quaternions;
\item quaternion rotation of vectors;
\item composition of finite rotations;
\item quaternion--DCM conversion;
\item quaternion--Euler-angle conversion;
\item quaternion kinematics and angular velocity;
\item relative attitude and error quaternions;
\item numerical propagation and normalization;
\item a consolidated engineering exercise set with complete solutions.
\end{enumerate}

\section{Sources and convention notes}

The present article is an original synthesis written for PhysicsLibrary.  Its
convention discussion is cross-checked against modern engineering literature,
historical quaternion sources, and openly licensed instructional material.
Sommer et al. is especially useful for separating Hamilton multiplication from
its flipped spacecraft variant and for identifying the passive world-to-body
mapping issue.  Shuster provides the historical spacecraft rationale for the
alternative multiplication ordering.  Moore provides a modern engineering
presentation of reference-frame orientation and direction-cosine matrices.
Joly provides a useful historical warning that even the term ``right-handed''
has been used with conflicting rotation conventions.

\begin{thebibliography}{9}

\bibitem{Sommer2018}
H. Sommer, I. Gilitschenski, M. Bloesch, S. Weiss, R. Siegwart, and J. Nieto,
``Why and How to Avoid the Flipped Quaternion Multiplication,''
\emph{Aerospace}, vol. 5, no. 3, article 72, 2018.
DOI: 10.3390/aerospace5030072.  Published under CC BY 4.0.
\PMlinkexternal{Publisher article}{https://www.mdpi.com/2226-4310/5/3/72}

\bibitem{Shuster2008}
M. D. Shuster,
``The Nature of the Quaternion,''
\emph{The Journal of the Astronautical Sciences}, vol. 56, no. 3,
pp. 359--373, 2008.
DOI: 10.1007/BF03256558.
\PMlinkexternal{Author-hosted manuscript}{https://malcolmdshuster.com/Pubp_021_072x_J_JAS0000_quat_MDS.pdf}

\bibitem{Moore2026}
J. K. Moore,
\emph{Learn Multibody Dynamics}, 2026 edition, especially the chapter
``Orientation of Reference Frames.''  The text is distributed under the
Creative Commons Attribution 4.0 International license.
\PMlinkexternal{Learn Multibody Dynamics}{https://moorepants.github.io/learn-multibody-dynamics/}

\bibitem{Henderson1977}
D. M. Henderson,
\emph{Euler Angles, Quaternions, and Transformation Matrices---Working Relationships},
JSC-12960, NASA Johnson Space Center, Mission Planning and Analysis Division,
July 1977.

\bibitem{Joly1905}
C. J. Joly,
\emph{A Manual of Quaternions}, Macmillan and Co., London, 1905.
Public-domain historical source.

\bibitem{Hamilton1899}
W. R. Hamilton,
\emph{Elements of Quaternions}, 2nd ed., edited by C. J. Joly,
Longmans, Green, and Co., 1899.
Public-domain historical source.

\end{thebibliography}

\section*{License}

Unless otherwise noted, this PhysicsLibrary entry is intended for release under
the Creative Commons Attribution--ShareAlike 4.0 International license.</content>
</record>
