Rotation about an axis, considered as a function in that axis #
def
Orientation.rot
{E : Type u_1}
[NormedAddCommGroup E]
[InnerProductSpace ℝ E]
[Fact (Module.finrank ℝ E = 3)]
(ω : Orientation ℝ E (Fin 3))
(p : ℝ × E)
:
A family of endomorphisms of E
, parametrized by ℝ × E
. The idea is that for nonzero v : E
and t : ℝ
this endomorphism will be the rotation by the angle t
about the axis spanned by v
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Orientation.rotAux
{E : Type u_1}
[NormedAddCommGroup E]
[InnerProductSpace ℝ E]
[Fact (Module.finrank ℝ E = 3)]
(ω : Orientation ℝ E (Fin 3))
(p : ℝ × E)
:
Alternative form of the construction rot
, convenient for the smoothness calculation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
Orientation.rot_eq_aux
{E : Type u_1}
[NormedAddCommGroup E]
[InnerProductSpace ℝ E]
[Fact (Module.finrank ℝ E = 3)]
(ω : Orientation ℝ E (Fin 3))
:
theorem
Orientation.contDiff_rot
{E : Type u_1}
[NormedAddCommGroup E]
[InnerProductSpace ℝ E]
[Fact (Module.finrank ℝ E = 3)]
(ω : Orientation ℝ E (Fin 3))
{p : ℝ × E}
(hp : p.2 ≠ 0)
:
ContDiffAt ℝ ⊤ ω.rot p
The map rot
is smooth on ℝ × (E \ {0})
.
theorem
Orientation.rot_zero
{E : Type u_1}
[NormedAddCommGroup E]
[InnerProductSpace ℝ E]
[Fact (Module.finrank ℝ E = 3)]
(ω : Orientation ℝ E (Fin 3))
(v : E)
:
The map rot
sends {0} × E
to the identity.
theorem
Orientation.rot_one
{E : Type u_1}
[NormedAddCommGroup E]
[InnerProductSpace ℝ E]
[Fact (Module.finrank ℝ E = 3)]
(ω : Orientation ℝ E (Fin 3))
(v : E)
{w : E}
(hw : w ∈ (Submodule.span ℝ {v})ᗮ)
:
The map rot
sends (1, v)
to a transformation which on (ℝ ∙ v)ᗮ
acts as the negation.
@[simp]
theorem
Orientation.rot_self
{E : Type u_1}
[NormedAddCommGroup E]
[InnerProductSpace ℝ E]
[Fact (Module.finrank ℝ E = 3)]
(ω : Orientation ℝ E (Fin 3))
(p : ℝ × E)
:
The map rot
sends (v, t)
to a transformation fixing v
.
theorem
Orientation.rot_eq_of_mem_span
{E : Type u_1}
[NormedAddCommGroup E]
[InnerProductSpace ℝ E]
[Fact (Module.finrank ℝ E = 3)]
(ω : Orientation ℝ E (Fin 3))
(p : ℝ × E)
{x : E}
(hx : x ∈ Submodule.span ℝ {p.2})
:
The map rot
sends (t, v)
to a transformation preserving span v
.
theorem
Orientation.inner_rot_apply_self
{E : Type u_1}
[NormedAddCommGroup E]
[InnerProductSpace ℝ E]
[Fact (Module.finrank ℝ E = 3)]
(ω : Orientation ℝ E (Fin 3))
(p : ℝ × E)
(w : E)
(hw : w ∈ (Submodule.span ℝ {p.2})ᗮ)
:
The map rot
sends (v, t)
to a transformation preserving the subspace (ℝ ∙ v)ᗮ
.
theorem
Orientation.isometry_on_rot
{E : Type u_1}
[NormedAddCommGroup E]
[InnerProductSpace ℝ E]
[Fact (Module.finrank ℝ E = 3)]
(ω : Orientation ℝ E (Fin 3))
(t : ℝ)
(v : ↑(Metric.sphere 0 1))
(w : ↥(Submodule.span ℝ {↑v})ᗮ)
:
theorem
Orientation.isometry_rot
{E : Type u_1}
[NormedAddCommGroup E]
[InnerProductSpace ℝ E]
[Fact (Module.finrank ℝ E = 3)]
(ω : Orientation ℝ E (Fin 3))
(t : ℝ)
(v : ↑(Metric.sphere 0 1))
:
theorem
Orientation.injOn_rot_of_ne
{E : Type u_1}
[NormedAddCommGroup E]
[InnerProductSpace ℝ E]
[Fact (Module.finrank ℝ E = 3)]
(ω : Orientation ℝ E (Fin 3))
(t : ℝ)
{x : E}
(hx : x ≠ 0)
:
theorem
Orientation.injOn_rot
{E : Type u_1}
[NormedAddCommGroup E]
[InnerProductSpace ℝ E]
[Fact (Module.finrank ℝ E = 3)]
(ω : Orientation ℝ E (Fin 3))
(t : ℝ)
(x : ↑(Metric.sphere 0 1))
: