# Difference between revisions of "Transformation groups"

In the 4D rigid geometric algebra $$\mathcal G_{3,0,1}$$, every Euclidean isometry of 3D space can be represented by a motor $$\mathbf Q$$ of the form

$$\mathbf Q = r_x \mathbf e_{41} + r_y \mathbf e_{42} + r_z \mathbf e_{43} + r_w {\large\unicode{x1d7d9}} + u_x \mathbf e_{23} + u_y \mathbf e_{31} + u_z \mathbf e_{12} + u_w$$

or by a flector $$\mathbf G$$ of the form

$$\mathbf G = s_x \mathbf e_1 + s_y \mathbf e_2 + s_z \mathbf e_3 + s_w \mathbf e_4 + h_x \mathbf e_{234} + h_y \mathbf e_{314} + h_z \mathbf e_{124} + h_w \mathbf e_{321}$$ .

Under the geometric antiproduct $$\unicode{x27C7}$$, arbitrary products of these operators form the Euclidean group E(3) with $${\large\unicode{x1D7D9}}$$ as the identity, and they covariantly transform any object $$\mathbf x$$ in the algebra through the sandwich products $$\mathbf x' = \mathbf Q \mathbin{\unicode{x27C7}} \mathbf x \mathbin{\unicode{x27C7}} \smash{\mathbf{\underset{\Large\unicode{x7E}}{Q}}}$$ and $$\mathbf x' = -\mathbf G \mathbin{\unicode{x27C7}} \mathbf x \mathbin{\unicode{x27C7}} \smash{\mathbf{\underset{\Large\unicode{x7E}}{G}}}$$.

Symmetrically, every dual Euclidean isometry of 3D space can be represented by a dual motor $$\mathbf Q$$ of the form

$$\mathbf Q = r_x \mathbf e_{23} + r_y \mathbf e_{31} + r_z \mathbf e_{12} - r_w {\large\unicode{x1d7d9}} + u_x \mathbf e_{41} + u_y \mathbf e_{42} + u_z \mathbf e_{43} - u_w$$

or by a dual flector $$\mathbf G$$ of the form

$$\mathbf G = s_x \mathbf e_{234} + s_y \mathbf e_{314} + s_z \mathbf e_{124} + s_w \mathbf e_{321} - h_x \mathbf e_1 - h_y \mathbf e_2 - h_z \mathbf e_3 - h_w \mathbf e_4$$ .

Under the geometric product $$\unicode{x27D1}$$, arbitrary products of these operators form the dual Euclidean group DE(3) with $$\mathbf 1$$ as the identity, and they covariantly transform any object $$\mathbf x$$ in the algebra through the sandwich products $$\mathbf x' = \mathbf Q \mathbin{\unicode{x27D1}} \mathbf x \mathbin{\unicode{x27D1}} \mathbf{\tilde Q}$$ and $$\mathbf x' = -\mathbf G \mathbin{\unicode{x27D1}} \mathbf x \mathbin{\unicode{x27D1}} \mathbf{\tilde G}$$.

The geometric product corresponds to transform composition in the group DE(3), and the geometric antiproduct corresponds to transform composition in the group E(3). Reflections across planes are represented by antivectors (having antigrade one), and they meet at lower-dimensional invariants under the geometric antiproduct. Symmetrically, dual reflections across points are represented by vectors (having grade one), and they join at higher-dimensional invariants under the geometric product. A sandwich product $$\mathbf Q \mathbin{\unicode{x27D1}} \mathbf x \mathbin{\unicode{x27D1}} \mathbf{\tilde Q}$$ transforms the space of $$\mathbf x$$ with an element of DE(3), and it transforms the antispace of $$\mathbf x$$ with the complementary element of E(3). Symmetrically, a sandwich product $$\mathbf Q \mathbin{\unicode{x27C7}} \mathbf x \mathbin{\unicode{x27C7}} \smash{\mathbf{\underset{\Large\unicode{x7E}}{Q}}}$$ transforms the space of $$\mathbf x$$ with an element of E(3), and it transforms the antispace of $$\mathbf x$$ with the complementary element of DE(3).

The groups E(n) and DE(n) are isomorphic, and they each contain the orthogonal group O(n) as a common subgroup. The complement operation provides a two-way mapping between transforms associated with members of E(n) and DE(n). The groups E(n) and DE(n) have a number of subgroups, and the hierarchical relationships among them are shown in the figure below. In particular, the Euclidean group E(n) contains the special Euclidean subgroup SE(n) consisting of all combinations of ordinary rotations and translations, which are covered by the elements of $$\mathcal G_{n,0,1}$$ having even antigrade. Correspondingly, the dual Euclidean group DE(n) contains the dual special Euclidean subgroup DSE(n) consisting of all combinations of dual rotations and translations, which are covered by the elements of $$\mathcal G_{n,0,1}$$ having even grade. The subgroups SE(n) and DSE(n) further contain translation subgroups T(n) and DT(n), respectively.

Transforms about invariants containing the origin are the same in both E(n) and DE(n), and they constitute the common subgroup O(n). Every member of O(n) has a representation that transforms elements with the geometric product and a complementary representation that transforms elements with the geometric antiproduct. For example, conventional quaternions $$\mathbf q$$ have two representations, one that transforms any object $$\mathbf x$$ through the sandwich product $$\mathbf x' = \mathbf q \mathbin{\unicode{x27D1}} \mathbf x \mathbin{\unicode{x27D1}} \mathbf{\tilde q}$$ and another that transforms any object $$\mathbf x$$ through the sandwich product $$\mathbf x' = \mathbf q \mathbin{\unicode{x27C7}} \mathbf x \mathbin{\unicode{x27C7}} \smash{\mathbf{\underset{\Large\unicode{x7E}}{q}}}$$.

In terms of matrix multiplication, a general element of the group E(n) transforms a point by multiplying on the left by an $$(n + 1) \times (n + 1)$$ matrix of the form

$$\begin{bmatrix} \mathbf m_{n \times n} & \mathbf t_{n \times 1} \\ \mathbf 0_{1 \times n} & 1 \end{bmatrix}$$ ,

where the $$n \times n$$ submatrix $$\mathbf m$$ is orthogonal. A general element of the corresponding group DE(n) transforms points with matrices of the form

$$\begin{bmatrix} \mathbf m_{n \times n} & \mathbf 0_{n \times 1} \\ \mathbf t_{1 \times n} & 1 \end{bmatrix}$$ .

In the special subgroups SE(n) and DSE(n), the submatrix $$\mathbf m$$ has a determinant of +1. In the translation subgroups T(n) and DT(n), $$\mathbf m$$ is the identity matrix. Finally, when $$\mathbf t = \mathbf 0$$, the two matrices above have the same form and belong to O(n).

The isomorphic mapping between E(n) and DE(n) is given by the inverse transpose operation on the matrix representatives. That is, if $$\mathbf M$$ is an $$(n + 1) \times (n + 1)$$ matrix representing an element of E(n), then the corresponding element of DE(n) is given by $$(\mathbf M^{-1})^{\text T}$$. Of course, this operation is an involution, and the mapping works both ways.