(zero error) computation, which means symbolic methods. These are not possible for ${\mathbb{R}}$, but only for suitable real closed subfields, in particular for the set of real algebraic numbers. Real closure is necessary because we will need to factor a univariate polynomial into its irreducible linear and quadratic factors. In the examples, we try to remain in subfields for which arithmetic does not get too complicated, such as ${\mathbb{Q}}$ or real quadratic extensions.

Dual quaternions and kinematics {#sec:preliminaries}
===============================

This section provides an introduction to dual quaternions and their relation to space kinematics. In particular, we introduce a homomorphism between a certain subgroup of dual quaternions into ${\mathrm{SE}(3)}$ and the important concept of motion polynomials.

Denote by ${\mathbb{H}}$ the non-commutative ring of quaternions. An element $h \in {\mathbb{H}}$ can be written as $h = h_0 + h_1{\mathbf{i}}+ h_2{\mathbf{j}}+ h_3{\mathbf{k}}$. The quaternion units ${\mathbf{i}}$, ${\mathbf{j}}$, and ${\mathbf{k}}$ satisfy the multiplication rules $${\mathbf{i}}^2 = {\mathbf{j}}^2 = {\mathbf{k}}^2 = {\mathbf{i}}{\mathbf{j}}{\mathbf{k}}= -1.$$ By ${\mathbb{D}}$ we denote the ring ${\mathbb{R}}[{\varepsilon}]/\langle {\varepsilon}^2 \rangle$. Its elements are called *dual numbers.* The scalar extension ${{\mathbb{D}}{\mathbb{H}}}\coloneqq {\mathbb{D}}\otimes_{\mathbb{R}}{\mathbb{H}}$ of ${\mathbb{H}}$ by ${\mathbb{D}}$ gives the ring of dual quaternions.

A dual quaternion $h$ may be written as $h = p + 