Physlib

Physlib.SpaceAndTime.Space.EuclideanGroup.Action

The action of the Euclidean group on `Space`

The Euclidean group `EuclideanGroup d = ℝᵈ ⋊ O(d)` (`Space/EuclideanGroup/Basic.lean`) is the group of rigid motions of `d`-dimensional space. This file makes that geometric meaning literal: it endows the affine space of points `Space d` (`Space/Basic.lean`) with a `MulAction` of `EuclideanGroup d` **by isometries**, and specialises it to the rotations.

Main results

* `EuclideanGroup.smul_vsub_smul` — displacements transform by the linear part alone. * `EuclideanGroup.dist_smul` — the action preserves distance. * `EuclideanGroup.rotation_smul_origin` / `rotation_smul_vsub_origin` — rotations fix the origin and act about it by their orthogonal part. * `EuclideanGroup.chartEuclidean_smul` — agreement with the affine-isometry model (`AffineGroup.lean`); the rest of the file does not depend on it.

Implementation notes

`Space d` is an affine space (`NormedAddTorsor`) with no canonical origin, so the action uses its vector-space zero `(0 : Space d)` as the basepoint:

`g • p = (g.linear • (p -ᵥ (0 : Space d)) + g.translation) +ᵥ (0 : Space d)`.

The `Zero` instance and the chart `Space.chartEuclidean` are defined in `Space/Origin.lean`.

Part 1: the action of the Euclidean group on `Space`

The motion `g = ⟨t, Q⟩` acts by `g • p = (Q • (p -ᵥ origin) + t) +ᵥ origin`. The `MulAction` laws reduce to the semidirect-product group law of `EuclideanGroup`.

Part 2: specialisation to rotations

The `RotationGroup d` action is the restriction of the Euclidean action along `RotationGroup d ≤ EuclideanGroup d` (`RotationGroup` elements have zero translation). The lemmas below record that rotations fix the origin, act by their orthogonal part about the origin, and preserve distance.

Part 3: relation to the affine isometry action (optional bridge)

`chartEuclidean_smul` records that, under the chart `Space.chartEuclidean` (`Space/Origin.lean`), `p ↦ p -ᵥ origin`, the Part 1 action is the transport of `toAffineIsometryMulEquiv` (`AffineGroup.lean`) from `EuclideanSpace` to `Space`. Nothing in Parts 1–2 depends on it.

9 declarations

instance

Action of the Euclidean group E(d)E(d) on Space d\text{Space } d

This instance defines the group action (\cdot) of the dd-dimensional Euclidean group E(d)E(d) (modeled as the semidirect product RdO(d)\mathbb{R}^d \rtimes O(d)) on the affine space Space d\text{Space } d. Given an element g=(t,Q)E(d)g = (t, Q) \in E(d), where tRdt \in \mathbb{R}^d is the translation vector and QO(d)Q \in O(d) is the orthogonal transformation, and a point pSpace dp \in \text{Space } d, the action is defined by: gp=(Q(p0)+t)+0g \cdot p = (Q \cdot (p - 0) + t) + 0 In this formula, 0Space d0 \in \text{Space } d represents a fixed coordinate origin, p0p - 0 is the displacement vector from the origin to pp, Q(p0)Q \cdot (p - 0) is the rotation of this vector by the orthogonal part of gg, and the translation by tt is applied before adding the resulting vector back to the origin to obtain the new point.

theorem

Coordinate-wise formula for the Euclidean group action (gp)i=(Q(p0))i+ti(g \cdot p)_i = (Q \cdot (p - 0))_i + t_i

In dd-dimensional Euclidean space, let gg be an element of the Euclidean group E(d)E(d) with linear part QQ and translation vector tt. For any point pp and coordinate index i{0,,d1}i \in \{0, \dots, d-1\}, the ii-th coordinate of the point resulting from the action of gg on pp is given by: (gp)i=(Q(p0))i+ti(g \cdot p)_i = (Q \cdot (p - 0))_i + t_i where 00 denotes the origin of the space.

theorem

(gp)(gq)=g.linear(pq)(g \cdot p) - (g \cdot q) = g.\text{linear} \cdot (p - q)

For any rigid motion gg in the dd-dimensional Euclidean group E(d)E(d) and any two points p,qp, q in the dd-dimensional affine space Space d\text{Space } d, the displacement vector between the transformed points gpg \cdot p and gqg \cdot q is equal to the action of the linear (orthogonal) part of gg on the displacement vector between pp and qq: (gp)(gq)=g.linear(pq)(g \cdot p) - (g \cdot q) = g.\text{linear} \cdot (p - q) where g.linearg.\text{linear} is the orthogonal part of the Euclidean transformation gg. This indicates that the displacement between two points transforms by the orthogonal part alone, while the translation component of the motion cancels out.

theorem

The Euclidean group action preserves distance dist(gp,gq)=dist(p,q)\text{dist}(g \cdot p, g \cdot q) = \text{dist}(p, q)

Let E(d)E(d) be the dd-dimensional Euclidean group (the group of rigid motions) and Space d\text{Space } d be the dd-dimensional Euclidean affine space. For any rigid motion gE(d)g \in E(d) and any two points p,qSpace dp, q \in \text{Space } d, the action of gg on the points preserves the distance between them: dist(gp,gq)=dist(p,q)\text{dist}(g \cdot p, g \cdot q) = \text{dist}(p, q)

theorem

rp=(r:E(d))pr \cdot p = (r : E(d)) \cdot p

For any rotation rr in the rotation group RotationGroup d\text{RotationGroup } d and any point pp in the dd-dimensional affine space Space d\text{Space } d, the action of rr on pp is equal to the action of rr on pp when rr is treated as an element of the full Euclidean group E(d)E(d). That is, the rotation-group action is the restriction of the Euclidean group action: rp=ι(r)pr \cdot p = \iota(r) \cdot p where ι\iota denotes the inclusion map from the rotation group into the Euclidean group.

theorem

Rotations Fix the Origin r0=0r \cdot 0 = 0

For any rotation rr in the rotation group SO(d)SO(d) (considered as a subgroup of the dd-dimensional Euclidean group E(d)E(d)), the action of rr on the origin 00 of the dd-dimensional Euclidean affine space Space d\text{Space } d fixes the origin, that is: r0=0r \cdot 0 = 0 where r0r \cdot 0 denotes the group action of the rigid motion on the point.

theorem

(rp)0=rlinear(p0)(r \cdot p) - 0 = r_{\text{linear}} \cdot (p - 0)

Let Space d\text{Space } d be a dd-dimensional affine space with a fixed origin 00. For any rotation rr in the rotation group SO(d)SO(d) and any point pSpace dp \in \text{Space } d, the displacement vector from the origin to the rotated point rpr \cdot p is equal to the linear (orthogonal) part of rr (denoted as rlinearr_{\text{linear}}) acting on the displacement vector from the origin to pp. This is expressed by the formula: (rp)0=rlinear(p0)(r \cdot p) - 0 = r_{\text{linear}} \cdot (p - 0) where rpr \cdot p denotes the action of the rotation on the point, and \cdot on the right-hand side denotes the action of the orthogonal transformation on the displacement vector.

theorem

Rotations Preserve Distance in Space d\text{Space } d

For any rotation rr in the rotation group RotationGroup d\text{RotationGroup } d (the subgroup of the Euclidean group E(d)E(d) consisting of orientation-preserving transformations that fix the origin) and any two points p,qp, q in the dd-dimensional affine space Space d\text{Space } d, the action of the rotation rr preserves the Euclidean distance between the points: dist(rp,rq)=dist(p,q)\text{dist}(r \cdot p, r \cdot q) = \text{dist}(p, q)

theorem

chart(gp)=fg(chart p)\text{chart}(g \cdot p) = f_g(\text{chart } p)

Let gg be an element of the dd-dimensional Euclidean group E(d)E(d) and pp be a point in the dd-dimensional affine space Space d\text{Space } d. Let ϕ:Space dRd\phi: \text{Space } d \to \mathbb{R}^d be the standard Euclidean chart that identifies points with their coordinate vectors relative to the origin (defined by ϕ(p)=p0\phi(p) = p - 0), and let fg:RdRdf_g: \mathbb{R}^d \to \mathbb{R}^d be the affine isometry corresponding to gg under the group isomorphism E(d)Isom(Rd)E(d) \cong \text{Isom}(\mathbb{R}^d). Then the action of gg on the point pp is compatible with the chart ϕ\phi such that: ϕ(gp)=fg(ϕ(p))\phi(g \cdot p) = f_g(\phi(p))