Physlib

Physlib.SpaceAndTime.Space.EuclideanGroup.Basic

Euclidean group

This file defines the Euclidean group as translations composed with orthogonal maps, together with the special Euclidean group, translation subgroup, and rotation subgroups.

The affine group, together with the inclusion of the Euclidean group into it, is defined in `Physlib.SpaceAndTime.Space.EuclideanGroup.AffineGroup`.

`One`/`Mul` projection lemmas

These expose the semidirect-product formulas behind the `Group` instance so that `simp` can reduce the translation/linear components of `1` and `A * B`.

34 declarations

instance

Group structure on the Euclidean group E(n)RnO(n)E(n) \cong \mathbb{R}^n \rtimes O(n)

This definition provides the group structure for the Euclidean group E(n)E(n), which is modeled as the semidirect product RnO(n)\mathbb{R}^n \rtimes O(n) of the translation group and the orthogonal group. For elements A=(a,R)A = (a, R) and B=(b,S)B = (b, S) in E(n)E(n), where a,bRna, b \in \mathbb{R}^n represent translations and R,SO(n)R, S \in O(n) represent orthogonal transformations, the group operations are defined as: - **Multiplication**: AB=(a+Rb,RS)A \cdot B = (a + R \cdot b, R \cdot S), where RbR \cdot b denotes the matrix-vector action of the orthogonal component on the translation vector. - **Identity**: 1=(0,I)1 = (0, I), where 00 is the zero translation and II is the identity orthogonal map. - **Inverse**: A1=(R1(a),R1)A^{-1} = (R^{-1} \cdot (-a), R^{-1}).

theorem

Translation of 1E(n)1 \in E(n) is 00

The translation component of the identity element 11 of the Euclidean group E(n)E(n) is the zero vector 00.

theorem

The linear component of 1E(n)1 \in E(n) is 11

The linear component of the identity element 11 of the Euclidean group E(n)E(n) is the identity linear map 11.

theorem

(AB).translation=A.translation+A.linearB.translation(A * B).\text{translation} = A.\text{translation} + A.\text{linear} \cdot B.\text{translation} for the Euclidean group

For any two elements AA and BB in the Euclidean group E(n)E(n), the translation component of their product ABA * B is equal to the translation component of AA plus the linear component of AA acting on the translation component of BB. This is expressed as (AB).translation=A.translation+A.linearB.translation(A * B).\text{translation} = A.\text{translation} + A.\text{linear} \cdot B.\text{translation}, where \cdot denotes the action of the linear map on the vector.

theorem

(AB).linear=A.linearB.linear(A * B).\text{linear} = A.\text{linear} * B.\text{linear} for the Euclidean group

For any two elements AA and BB in the Euclidean group E(n)E(n), the linear component of their product ABA * B is equal to the product of the individual linear components of AA and BB, expressed as (AB).linear=A.linearB.linear(A * B).\text{linear} = A.\text{linear} * B.\text{linear}.

definition

Special Euclidean group SE(n)SE(n)

For any natural number nn, the Special Euclidean group SE(n)SE(n) is the subgroup of the Euclidean group E(n)RnO(n)E(n) \cong \mathbb{R}^n \rtimes O(n) consisting of elements (a,R)(a, R) where the determinant of the orthogonal transformation RR is equal to 1.

definition

Inclusion map SE(n)E(n)SE(n) \to E(n)

For a natural number nn, let SE(n)SE(n) be the special Euclidean group and E(n)E(n) be the Euclidean group. This definition is the canonical inclusion group homomorphism ι:SE(n)E(n)\iota : SE(n) \hookrightarrow E(n) that maps each element of the subgroup SE(n)SE(n) to itself as an element of the parent group E(n)E(n).

definition

Translation subgroup of E(n)E(n)

For any natural number nn, the Translation Group is the subgroup of the Euclidean group E(n)RnO(n)E(n) \cong \mathbb{R}^n \rtimes O(n) consisting of elements where the linear (orthogonal) part is the identity. Given an element g=(a,R)E(n)g = (a, R) \in E(n), where aRna \in \mathbb{R}^n is the translation vector and RO(n)R \in O(n) is the orthogonal transformation, gg belongs to this subgroup if and only if R=IR = I, where II denotes the identity matrix.

definition

Inclusion of the translation subgroup into the Euclidean group E(n)E(n)

For a natural number nn, let E(n)E(n) be the Euclidean group. This map is the canonical inclusion group homomorphism from the translation subgroup T(n)E(n)T(n) \subseteq E(n) into the full Euclidean group E(n)E(n). It maps each element of the translation subgroup, which consists of elements where the orthogonal component is the identity, to its corresponding representation in the semidirect product RnO(n)\mathbb{R}^n \rtimes O(n).

definition

Inclusion of translation vectors into the Euclidean group E(n)E(n)

For a natural number nn, let E(n)E(n) be the Euclidean group, modeled as the semidirect product RnO(n)\mathbb{R}^n \rtimes O(n). This function is the group homomorphism that includes a translation vector vRnv \in \mathbb{R}^n into E(n)E(n). Specifically, it maps a vector vv to the pair (v,I)(v, I), where II is the identity element of the orthogonal group O(n)O(n).

theorem

The range of the translation vector inclusion is the translation subgroup of E(n)E(n)

For any natural number nn, let E(n)E(n) be the Euclidean group, modeled as the semidirect product RnO(n)\mathbb{R}^n \rtimes O(n). The range of the group homomorphism incl:RnE(n)\text{incl} : \mathbb{R}^n \to E(n), which maps each translation vector vRnv \in \mathbb{R}^n to the element (v,I)E(n)(v, I) \in E(n), is equal to the carrier set of the translation subgroup TranslationGroup(n)\text{TranslationGroup}(n).

theorem

The zero translation is the identity of the Euclidean group

In the nn-dimensional Euclidean group E(n)E(n), let ι:RnE(n)\iota: \mathbb{R}^n \to E(n) be the inclusion homomorphism that maps a translation vector vRnv \in \mathbb{R}^n to the group element (v,I)(v, I), where II is the identity orthogonal transformation. Then the image of the zero vector 0Rn\mathbf{0} \in \mathbb{R}^n under ι\iota is the identity element of the Euclidean group, denoted by 11.

definition

Subgroup of E(n)E(n) fixing the origin

The definition `EuclideanGroup.OriginStabilizer` specifies the subgroup of the Euclidean group E(n)E(n) consisting of transformations that fix the origin. Given that an element gE(n)g \in E(n) is represented as a pair (a,R)(a, R)—where aRna \in \mathbb{R}^n is the translation vector and RR is an orthogonal linear map—this subgroup is defined by the condition that the translation component aa is equal to 00. This subgroup is isomorphic to the orthogonal group O(n)O(n) embedded within the Euclidean group.

definition

Rotation group SO(n)SO(n) as a subgroup of E(n)E(n)

For any natural number nn, the rotation group is the subgroup of the Euclidean group E(n)RnO(n)E(n) \cong \mathbb{R}^n \rtimes O(n) consisting of transformations that both fix the origin and preserve orientation. Formally, it is defined as the intersection of the special Euclidean group SE(n)SE(n) and the origin stabilizer subgroup. An element (a,R)E(n)(a, R) \in E(n), where aRna \in \mathbb{R}^n is the translation vector and RO(n)R \in O(n) is an orthogonal transformation, belongs to this subgroup if and only if a=0a = 0 and detR=1\det R = 1.

definition

Inclusion homomorphism SO(n)E(n)SO(n) \hookrightarrow E(n)

For any natural number nn, this is the canonical group homomorphism from the rotation group SO(n)SO(n) to the Euclidean group E(n)E(n). Here, the rotation group is understood as the subgroup of the Euclidean group E(n)RnO(n)E(n) \cong \mathbb{R}^n \rtimes O(n) consisting of elements (0,R)(0, R) where RR is an orthogonal transformation with detR=1\det R = 1. The map sends each rotation to its corresponding element in E(n)E(n).

definition

Subgroup of rotations about a point pp in E(n)E(n)

For a point pRnp \in \mathbb{R}^n, the subgroup of rotations about pp consists of all transformations gg in the Euclidean group E(n)E(n) of the form g=TprTp1g = T_p \cdot r \cdot T_p^{-1}, where rSO(n)r \in SO(n) is a rotation about the origin and TpT_p is the translation by the vector pp. These elements correspond to orientation-preserving transformations that fix the point pp.

definition

Inclusion homomorphism RotationsAbout(p)E(n)\text{RotationsAbout}(p) \hookrightarrow E(n)

For a point pRnp \in \mathbb{R}^n, let RotationsAbout(p)\text{RotationsAbout}(p) be the subgroup of the Euclidean group E(n)E(n) consisting of orientation-preserving transformations that fix pp. This map is the canonical inclusion group homomorphism RotationsAbout(p)E(n)\text{RotationsAbout}(p) \hookrightarrow E(n) that sends each rotation about pp to its corresponding element in the Euclidean group.

definition

Conjugation of rotations about pp to the origin

For a point pRnp \in \mathbb{R}^n, this group homomorphism maps the subgroup of rotations about pp to the rotation group SO(n)SO(n) (rotations about the origin). It is defined by conjugating an element gg in the subgroup of rotations about pp with the translation by p-p, specifically TpgTpT_{-p} \cdot g \cdot T_p, where TpT_p denotes the translation by the vector pp. This operation effectively shifts the center of rotation from pp back to the origin.

definition

Conjugation map from rotations about the origin to rotations about pp

For a point pRnp \in \mathbb{R}^n, this defines the group homomorphism from the rotation group SO(n)SO(n) (which consists of rotations about the origin in the Euclidean group E(n)E(n)) to the subgroup of rotations about pp. The map sends a rotation gSO(n)g \in SO(n) to its conjugate TpgTp1T_p \cdot g \cdot T_p^{-1}, where TpT_p denotes the translation by the vector pp.

theorem

The composition of `fromOrigin p` and `toOrigin p` is the identity on rotations about pp

For a point pRnp \in \mathbb{R}^n, let RpR_p be the subgroup of rotations about pp and SO(n)SO(n) be the subgroup of rotations about the origin. Let tp:RpSO(n)t_p: R_p \to SO(n) be the group homomorphism that shifts the center of rotation from pp to the origin (`toOrigin p`), and fp:SO(n)Rpf_p: SO(n) \to R_p be the group homomorphism that shifts the center of rotation from the origin to pp (`fromOrigin p`). Then the composition fptpf_p \circ t_p is the identity homomorphism on RpR_p.

theorem

toOriginpfromOriginp=idSO(n)\text{toOrigin}_p \circ \text{fromOrigin}_p = \text{id}_{SO(n)}

For any point pp in nn-dimensional Euclidean space, the composition of the group homomorphism toOriginp:RotationsAbout(p)SO(n)\text{toOrigin}_p: \text{RotationsAbout}(p) \to SO(n) and the group homomorphism fromOriginp:SO(n)RotationsAbout(p)\text{fromOrigin}_p: SO(n) \to \text{RotationsAbout}(p) is equal to the identity homomorphism on the rotation group SO(n)SO(n).

definition

Group isomorphism RotationsAbout(p)RotationGroup(n)\text{RotationsAbout}(p) \cong \text{RotationGroup}(n)

For a point pp in nn-dimensional Euclidean space Rn\mathbb{R}^n, there exists a group isomorphism between the subgroup of rotations fixing pp, denoted RotationsAbout(p)\text{RotationsAbout}(p), and the rotation group fixing the origin, RotationGroup(n)\text{RotationGroup}(n). This isomorphism is defined by shifting the center of rotation via conjugation with the translation TpT_p: specifically, an element gRotationsAbout(p)g \in \text{RotationsAbout}(p) is mapped to TpgTpRotationGroup(n)T_{-p} \cdot g \cdot T_p \in \text{RotationGroup}(n).

theorem

RotationsAbout(0)=RotationGroup(n)\text{RotationsAbout}(0) = \text{RotationGroup}(n)

In the nn-dimensional Euclidean group E(n)E(n), the subgroup of rotations about the origin 0Rn0 \in \mathbb{R}^n, denoted by RotationsAbout(0)\text{RotationsAbout}(0), is equal to the rotation group RotationGroup(n)\text{RotationGroup}(n) (the subgroup of orientation-preserving transformations that fix the origin).

definition

Inclusion SO(n)O(n)SO(n) \to O(n)

For a given natural number nn, this map is the canonical inclusion group homomorphism from the special orthogonal group SO(n,R)SO(n, \mathbb{R}) to the orthogonal group O(n,R)O(n, \mathbb{R}). It allows a rotation matrix (an orthogonal matrix with determinant 1) to be treated as a member of the broader group of orthogonal matrices.

definition

Euclidean group element (0,Q)(0, Q) from rotation QSO(n)Q \in SO(n)

Given a rotation matrix QQ in the special orthogonal group SO(n,R)SO(n, \mathbb{R}), this function constructs an element of the Euclidean group E(n)E(n). This element represents a pure rotation about the origin, which is defined by the pair (0,Q)(0, Q), where the translation component is the zero vector in the Euclidean space Rn\mathbb{R}^n and the linear component is the rotation QQ (viewed as an orthogonal matrix).

definition

Euclidean group element from rotation QQ and translation tt

Given a rotation matrix QSO(n,R)Q \in SO(n, \mathbb{R}) and a translation vector tRnt \in \mathbb{R}^n (represented as an element of the Euclidean space), this function constructs an element of the Euclidean group E(n)E(n). The resulting transformation has tt as its translation component and QQ (viewed as an element of the orthogonal group O(n,R)O(n, \mathbb{R})) as its linear component.

theorem

The translation component of `ofRotationTranslation Q t` is tt

For any rotation matrix QSO(n,R)Q \in SO(n, \mathbb{R}) and any translation vector tRnt \in \mathbb{R}^n, the translation component of the Euclidean group element constructed from QQ and tt is equal to tt.

theorem

The linear component of `ofRotationTranslation Q t` is QQ

For any rotation matrix QSO(n,R)Q \in SO(n, \mathbb{R}) and any translation vector tRnt \in \mathbb{R}^n, the linear component of the Euclidean group element constructed from QQ and tt is equal to the image of QQ under the inclusion map from the special orthogonal group SO(n,R)SO(n, \mathbb{R}) to the orthogonal group O(n,R)O(n, \mathbb{R}).

theorem

Decomposition of a Euclidean Group Element into a Translation and a Rotation

For any rotation matrix QSO(n,R)Q \in SO(n, \mathbb{R}) and any translation vector tRnt \in \mathbb{R}^n, the element of the Euclidean group E(n)E(n) constructed from QQ and tt can be decomposed as the product of the pure translation by tt and the pure rotation by QQ. Mathematically, this is expressed as: ofRotationTranslation(Q,t)=incl(t)ofRotation(Q) \text{ofRotationTranslation}(Q, t) = \text{incl}(t) \cdot \text{ofRotation}(Q) where incl(t)\text{incl}(t) is the inclusion of the translation vector into E(n)E(n) and ofRotation(Q)\text{ofRotation}(Q) is the inclusion of the rotation into E(n)E(n).

definition

Group homomorphism SO(n)RotationGroup nSO(n) \to \text{RotationGroup } n

This definition defines a group homomorphism from the special orthogonal group SO(n,R)SO(n, \mathbb{R}) to the rotation subgroup of the Euclidean group E(n)E(n). For any rotation matrix QSO(n,R)Q \in SO(n, \mathbb{R}), the homomorphism maps it to the element (0,Q)E(n)(0, Q) \in E(n), which represents a pure rotation about the origin with no translation component. This map serves as the forward direction of the isomorphism between the matrix group SO(n)SO(n) and the geometric rotation subgroup of E(n)E(n).

definition

Group homomorphism from RotationGroup(n)\text{RotationGroup}(n) to SO(n,R)SO(n, \mathbb{R})

For a natural number nn, this is the group homomorphism from the rotation group RotationGroup(n)\text{RotationGroup}(n) (the subgroup of the Euclidean group E(n)E(n) consisting of transformations that fix the origin and preserve orientation) to the group of special orthogonal matrices SO(n,R)SO(n, \mathbb{R}). It maps an element gg of the rotation group to its linear component, which is the n×nn \times n matrix representing the rotation about the origin.

theorem

fromRotationtoRotation=idSO(n,R)\text{fromRotation} \circ \text{toRotation} = \text{id}_{SO(n, \mathbb{R})}

For any natural number nn, let toRotation:SO(n,R)RotationGroup(n)\text{toRotation} : SO(n, \mathbb{R}) \to \text{RotationGroup}(n) be the group homomorphism that maps a special orthogonal matrix to its corresponding rotation in the Euclidean group, and let fromRotation:RotationGroup(n)SO(n,R)\text{fromRotation} : \text{RotationGroup}(n) \to SO(n, \mathbb{R}) be the group homomorphism that extracts the linear component of a rotation. The composition of these homomorphisms, fromRotationtoRotation\text{fromRotation} \circ \text{toRotation}, is equal to the identity homomorphism on the special orthogonal group SO(n,R)SO(n, \mathbb{R}).

theorem

specialOrthogonal.toRotationspecialOrthogonal.fromRotation=id\text{specialOrthogonal.toRotation} \circ \text{specialOrthogonal.fromRotation} = \text{id}

For any natural number nn, the composition of the group homomorphism specialOrthogonal.fromRotation:RotationGroup(n)SO(n,R)\text{specialOrthogonal.fromRotation}: \text{RotationGroup}(n) \to SO(n, \mathbb{R}) and the group homomorphism specialOrthogonal.toRotation:SO(n,R)RotationGroup(n)\text{specialOrthogonal.toRotation}: SO(n, \mathbb{R}) \to \text{RotationGroup}(n) is the identity homomorphism on RotationGroup(n)\text{RotationGroup}(n). That is, (specialOrthogonal.toRotation)(specialOrthogonal.fromRotation)=idRotationGroup(n)(\text{specialOrthogonal.toRotation}) \circ (\text{specialOrthogonal.fromRotation}) = \text{id}_{\text{RotationGroup}(n)}. This represents the backward leg of the group isomorphism between the matrix group SO(n,R)SO(n, \mathbb{R}) and the rotation subgroup of the Euclidean group E(n)E(n).

definition

Group isomorphism SO(n,R)RotationGroup(n)SO(n, \mathbb{R}) \cong \text{RotationGroup}(n)

This definition establishes a group isomorphism between the special orthogonal group SO(n,R)SO(n, \mathbb{R}) (the group of n×nn \times n real matrices QQ satisfying QTQ=IQ^T Q = I and detQ=1\det Q = 1) and the rotation subgroup of the Euclidean group E(n)E(n). The isomorphism identifies each rotation matrix QQ with the Euclidean transformation (0,Q)(0, Q), which corresponds to a rotation about the origin with no translation component.