Documentation

Mathlib.Analysis.InnerProductSpace.Projection.Reflection

Reflection #

A linear isometry equivalence K.reflection : E โ‰ƒโ‚—แตข[๐•œ] E in constructed, by choosing for each u : E, K.reflection u = 2 โ€ข K.starProjection u - u.

def Submodule.reflectionLinearEquiv {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (K : Submodule ๐•œ E) [K.HasOrthogonalProjection] :
E โ‰ƒโ‚—[๐•œ] E

Auxiliary definition for reflection: the reflection as a linear equivalence.

Equations
Instances For
    def Submodule.reflection {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (K : Submodule ๐•œ E) [K.HasOrthogonalProjection] :

    Reflection in a complete subspace of an inner product space. The word "reflection" is sometimes understood to mean specifically reflection in a codimension-one subspace, and sometimes more generally to cover operations such as reflection in a point. The definition here, of reflection in a subspace, is a more general sense of the word that includes both those common cases.

    Equations
    Instances For
      theorem Submodule.reflection_apply {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {K : Submodule ๐•œ E} [K.HasOrthogonalProjection] (p : E) :

      The result of reflecting.

      @[simp]
      theorem Submodule.reflection_symm {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {K : Submodule ๐•œ E} [K.HasOrthogonalProjection] :

      Reflection is its own inverse.

      @[simp]
      theorem Submodule.reflection_inv {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {K : Submodule ๐•œ E} [K.HasOrthogonalProjection] :

      Reflection is its own inverse.

      @[simp]
      theorem Submodule.reflection_reflection {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (K : Submodule ๐•œ E) [K.HasOrthogonalProjection] (p : E) :

      Reflecting twice in the same subspace.

      theorem Submodule.reflection_involutive {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (K : Submodule ๐•œ E) [K.HasOrthogonalProjection] :

      Reflection is involutive.

      @[simp]
      theorem Submodule.reflection_trans_reflection {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (K : Submodule ๐•œ E) [K.HasOrthogonalProjection] :

      Reflection is involutive.

      @[simp]
      theorem Submodule.reflection_mul_reflection {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (K : Submodule ๐•œ E) [K.HasOrthogonalProjection] :

      Reflection is involutive.

      theorem Submodule.reflection_orthogonal_apply {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (K : Submodule ๐•œ E) [K.HasOrthogonalProjection] (v : E) :
      theorem Submodule.reflection_orthogonal {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (K : Submodule ๐•œ E) [K.HasOrthogonalProjection] :
      theorem Submodule.reflection_singleton_apply {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (u v : E) :
      (span ๐•œ {u}).reflection v = 2 โ€ข (inner ๐•œ u v / โ†‘โ€–uโ€– ^ 2) โ€ข u - v
      theorem Submodule.reflection_eq_self_iff {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {K : Submodule ๐•œ E} [K.HasOrthogonalProjection] (x : E) :

      A point is its own reflection if and only if it is in the subspace.

      theorem Submodule.reflection_mem_subspace_eq_self {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {K : Submodule ๐•œ E} [K.HasOrthogonalProjection] {x : E} (hx : x โˆˆ K) :
      theorem Submodule.reflection_map_apply {๐•œ : Type u_1} [RCLike ๐•œ] {E : Type u_4} {E' : Type u_5} [NormedAddCommGroup E] [NormedAddCommGroup E'] [InnerProductSpace ๐•œ E] [InnerProductSpace ๐•œ E'] (f : E โ‰ƒโ‚—แตข[๐•œ] E') (K : Submodule ๐•œ E) [K.HasOrthogonalProjection] (x : E') :
      (map (โ†‘f.toLinearEquiv) K).reflection x = f (K.reflection (f.symm x))

      Reflection in the Submodule.map of a subspace.

      theorem Submodule.reflection_map {๐•œ : Type u_1} [RCLike ๐•œ] {E : Type u_4} {E' : Type u_5} [NormedAddCommGroup E] [NormedAddCommGroup E'] [InnerProductSpace ๐•œ E] [InnerProductSpace ๐•œ E'] (f : E โ‰ƒโ‚—แตข[๐•œ] E') (K : Submodule ๐•œ E) [K.HasOrthogonalProjection] :

      Reflection in the Submodule.map of a subspace.

      @[simp]
      theorem Submodule.reflection_bot {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] :

      Reflection through the trivial subspace {0} is just negation.

      theorem Submodule.reflection_mem_subspace_orthogonalComplement_eq_neg {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {K : Submodule ๐•œ E} [K.HasOrthogonalProjection] {v : E} (hv : v โˆˆ Kแ—ฎ) :

      The reflection in K of an element of Kแ—ฎ is its negation.

      theorem Submodule.reflection_mem_subspace_orthogonal_precomplement_eq_neg {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {K : Submodule ๐•œ E} [K.HasOrthogonalProjection] {v : E} (hv : v โˆˆ K) :

      The reflection in Kแ—ฎ of an element of K is its negation.

      theorem Submodule.reflection_orthogonalComplement_singleton_eq_neg {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (v : E) :
      (span ๐•œ {v})แ—ฎ.reflection v = -v

      The reflection in (๐•œ โˆ™ v)แ—ฎ of v is -v.