Documentation

Mathlib.Analysis.InnerProductSpace.Orthonormal

Orthonormal sets #

This file defines orthonormal sets in inner product spaces.

Main results #

For the existence of orthonormal bases, Hilbert bases, etc., see the file Analysis.InnerProductSpace.projection.

def Orthonormal (𝕜 : Type u_1) {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} (v : ιE) :

An orthonormal set of vectors in an InnerProductSpace

Equations
Instances For
    @[simp]
    theorem Orthonormal.of_isEmpty {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} [IsEmpty ι] (v : ιE) :
    @[simp]
    theorem orthonormal_vecCons_iff {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {n : } {v : E} {vs : Fin nE} :
    Orthonormal 𝕜 (Matrix.vecCons v vs) v = 1 (∀ (i : Fin n), inner 𝕜 v (vs i) = 0) Orthonormal 𝕜 vs
    theorem Orthonormal.norm_eq_one {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {v : ιE} (h : Orthonormal 𝕜 v) (i : ι) :
    v i = 1
    theorem Orthonormal.nnnorm_eq_one {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {v : ιE} (h : Orthonormal 𝕜 v) (i : ι) :
    theorem Orthonormal.enorm_eq_one {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {v : ιE} (h : Orthonormal 𝕜 v) (i : ι) :
    theorem Orthonormal.inner_eq_zero {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {v : ιE} {i j : ι} (h : Orthonormal 𝕜 v) (hij : i j) :
    inner 𝕜 (v i) (v j) = 0
    theorem orthonormal_iff_ite {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} [DecidableEq ι] {v : ιE} :
    Orthonormal 𝕜 v ∀ (i j : ι), inner 𝕜 (v i) (v j) = if i = j then 1 else 0

    if ... then ... else characterization of an indexed set of vectors being orthonormal. (Inner product equals Kronecker delta.)

    @[simp]
    theorem orthonormal_subsingleton_iff {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} [Subsingleton ι] {v : ιE} :
    Orthonormal 𝕜 v ∀ (i : ι), v i = 1
    theorem orthonormal_subtype_iff_ite {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] [DecidableEq E] {s : Set E} :
    Orthonormal 𝕜 Subtype.val vs, ws, inner 𝕜 v w = if v = w then 1 else 0

    if ... then ... else characterization of a set of vectors being orthonormal. (Inner product equals Kronecker delta.)

    theorem Orthonormal.inner_right_finsupp {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {v : ιE} (hv : Orthonormal 𝕜 v) (l : ι →₀ 𝕜) (i : ι) :
    inner 𝕜 (v i) ((Finsupp.linearCombination 𝕜 v) l) = l i

    The inner product of a linear combination of a set of orthonormal vectors with one of those vectors picks out the coefficient of that vector.

    theorem Orthonormal.inner_right_sum {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {v : ιE} (hv : Orthonormal 𝕜 v) (l : ι𝕜) {s : Finset ι} {i : ι} (hi : i s) :
    inner 𝕜 (v i) (∑ is, l i v i) = l i

    The inner product of a linear combination of a set of orthonormal vectors with one of those vectors picks out the coefficient of that vector.

    theorem Orthonormal.inner_right_fintype {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} [Fintype ι] {v : ιE} (hv : Orthonormal 𝕜 v) (l : ι𝕜) (i : ι) :
    inner 𝕜 (v i) (∑ i : ι, l i v i) = l i

    The inner product of a linear combination of a set of orthonormal vectors with one of those vectors picks out the coefficient of that vector.

    theorem Orthonormal.inner_left_finsupp {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {v : ιE} (hv : Orthonormal 𝕜 v) (l : ι →₀ 𝕜) (i : ι) :
    inner 𝕜 ((Finsupp.linearCombination 𝕜 v) l) (v i) = (starRingEnd 𝕜) (l i)

    The inner product of a linear combination of a set of orthonormal vectors with one of those vectors picks out the coefficient of that vector.

    theorem Orthonormal.inner_left_sum {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {v : ιE} (hv : Orthonormal 𝕜 v) (l : ι𝕜) {s : Finset ι} {i : ι} (hi : i s) :
    inner 𝕜 (∑ is, l i v i) (v i) = (starRingEnd 𝕜) (l i)

    The inner product of a linear combination of a set of orthonormal vectors with one of those vectors picks out the coefficient of that vector.

    theorem Orthonormal.inner_left_fintype {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} [Fintype ι] {v : ιE} (hv : Orthonormal 𝕜 v) (l : ι𝕜) (i : ι) :
    inner 𝕜 (∑ i : ι, l i v i) (v i) = (starRingEnd 𝕜) (l i)

    The inner product of a linear combination of a set of orthonormal vectors with one of those vectors picks out the coefficient of that vector.

    theorem Orthonormal.inner_finsupp_eq_sum_left {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {v : ιE} (hv : Orthonormal 𝕜 v) (l₁ l₂ : ι →₀ 𝕜) :
    inner 𝕜 ((Finsupp.linearCombination 𝕜 v) l₁) ((Finsupp.linearCombination 𝕜 v) l₂) = l₁.sum fun (i : ι) (y : 𝕜) => (starRingEnd 𝕜) y * l₂ i

    The inner product of two linear combinations of a set of orthonormal vectors, expressed as a sum over the first Finsupp.

    theorem Orthonormal.inner_finsupp_eq_sum_right {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {v : ιE} (hv : Orthonormal 𝕜 v) (l₁ l₂ : ι →₀ 𝕜) :
    inner 𝕜 ((Finsupp.linearCombination 𝕜 v) l₁) ((Finsupp.linearCombination 𝕜 v) l₂) = l₂.sum fun (i : ι) (y : 𝕜) => (starRingEnd 𝕜) (l₁ i) * y

    The inner product of two linear combinations of a set of orthonormal vectors, expressed as a sum over the second Finsupp.

    theorem Orthonormal.inner_sum {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {v : ιE} (hv : Orthonormal 𝕜 v) (l₁ l₂ : ι𝕜) (s : Finset ι) :
    inner 𝕜 (∑ is, l₁ i v i) (∑ is, l₂ i v i) = is, (starRingEnd 𝕜) (l₁ i) * l₂ i

    The inner product of two linear combinations of a set of orthonormal vectors, expressed as a sum.

    theorem Orthonormal.inner_left_right_finset {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {s : Finset ι} {v : ιE} (hv : Orthonormal 𝕜 v) {a : ιι𝕜} :
    is, js, a i j inner 𝕜 (v j) (v i) = ks, a k k

    The double sum of weighted inner products of pairs of vectors from an orthonormal sequence is the sum of the weights.

    theorem Orthonormal.linearIndependent {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {v : ιE} (hv : Orthonormal 𝕜 v) :

    An orthonormal set is linearly independent.

    theorem Orthonormal.comp {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {ι' : Type u_5} {v : ιE} (hv : Orthonormal 𝕜 v) (f : ι'ι) (hf : Function.Injective f) :
    Orthonormal 𝕜 (v f)

    A subfamily of an orthonormal family (i.e., a composition with an injective map) is an orthonormal family.

    theorem orthonormal_subtype_range {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {v : ιE} (hv : Function.Injective v) :

    An injective family v : ι → E is orthonormal if and only if Subtype.val : (range v) → E is orthonormal.

    theorem Orthonormal.toSubtypeRange {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {v : ιE} (hv : Orthonormal 𝕜 v) :

    If v : ι → E is an orthonormal family, then Subtype.val : (range v) → E is an orthonormal family.

    theorem Orthonormal.inner_finsupp_eq_zero {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {v : ιE} (hv : Orthonormal 𝕜 v) {s : Set ι} {i : ι} (hi : is) {l : ι →₀ 𝕜} (hl : l Finsupp.supported 𝕜 𝕜 s) :
    inner 𝕜 ((Finsupp.linearCombination 𝕜 v) l) (v i) = 0

    A linear combination of some subset of an orthonormal set is orthogonal to other members of the set.

    theorem Orthonormal.orthonormal_of_forall_eq_or_eq_neg {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {v w : ιE} (hv : Orthonormal 𝕜 v) (hw : ∀ (i : ι), w i = v i w i = -v i) :

    Given an orthonormal family, a second family of vectors is orthonormal if every vector equals the corresponding vector in the original family or its negation.

    theorem orthonormal_empty (𝕜 : Type u_1) (E : Type u_2) [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] :
    Orthonormal 𝕜 fun (x : ) => x
    theorem orthonormal_iUnion_of_directed {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {η : Type u_5} {s : ηSet E} (hs : Directed (fun (x1 x2 : Set E) => x1 x2) s) (h : ∀ (i : η), Orthonormal 𝕜 fun (x : (s i)) => x) :
    Orthonormal 𝕜 fun (x : (⋃ (i : η), s i)) => x
    theorem orthonormal_sUnion_of_directed {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {s : Set (Set E)} (hs : DirectedOn (fun (x1 x2 : Set E) => x1 x2) s) (h : as, Orthonormal 𝕜 fun (x : a) => x) :
    Orthonormal 𝕜 fun (x : ↑(⋃₀ s)) => x
    theorem exists_maximal_orthonormal {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {s : Set E} (hs : Orthonormal 𝕜 Subtype.val) :
    ws, Orthonormal 𝕜 Subtype.val uw, Orthonormal 𝕜 Subtype.valu = w

    Given an orthonormal set v of vectors in E, there exists a maximal orthonormal set containing it.

    noncomputable def basisOfOrthonormalOfCardEqFinrank {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} [Fintype ι] [Nonempty ι] {v : ιE} (hv : Orthonormal 𝕜 v) (card_eq : Fintype.card ι = Module.finrank 𝕜 E) :
    Module.Basis ι 𝕜 E

    A family of orthonormal vectors with the correct cardinality forms a basis.

    Equations
    Instances For
      @[simp]
      theorem coe_basisOfOrthonormalOfCardEqFinrank {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} [Fintype ι] [Nonempty ι] {v : ιE} (hv : Orthonormal 𝕜 v) (card_eq : Fintype.card ι = Module.finrank 𝕜 E) :
      theorem Orthonormal.ne_zero {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {v : ιE} (hv : Orthonormal 𝕜 v) (i : ι) :
      v i 0
      theorem LinearIsometry.orthonormal_comp_iff {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {E' : Type u_7} [SeminormedAddCommGroup E'] [InnerProductSpace 𝕜 E'] {v : ιE} (f : E →ₗᵢ[𝕜] E') :
      Orthonormal 𝕜 (f v) Orthonormal 𝕜 v

      A linear isometry preserves the property of being orthonormal.

      theorem Orthonormal.comp_linearIsometry {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {E' : Type u_7} [SeminormedAddCommGroup E'] [InnerProductSpace 𝕜 E'] {v : ιE} (hv : Orthonormal 𝕜 v) (f : E →ₗᵢ[𝕜] E') :
      Orthonormal 𝕜 (f v)

      A linear isometry preserves the property of being orthonormal.

      theorem Orthonormal.comp_linearIsometryEquiv {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {E' : Type u_7} [SeminormedAddCommGroup E'] [InnerProductSpace 𝕜 E'] {v : ιE} (hv : Orthonormal 𝕜 v) (f : E ≃ₗᵢ[𝕜] E') :
      Orthonormal 𝕜 (f v)

      A linear isometric equivalence preserves the property of being orthonormal.

      theorem Orthonormal.mapLinearIsometryEquiv {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {E' : Type u_7} [SeminormedAddCommGroup E'] [InnerProductSpace 𝕜 E'] {v : Module.Basis ι 𝕜 E} (hv : Orthonormal 𝕜 v) (f : E ≃ₗᵢ[𝕜] E') :

      A linear isometric equivalence, applied with Basis.map, preserves the property of being orthonormal.

      def LinearMap.isometryOfOrthonormal {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {E' : Type u_7} [SeminormedAddCommGroup E'] [InnerProductSpace 𝕜 E'] (f : E →ₗ[𝕜] E') {v : Module.Basis ι 𝕜 E} (hv : Orthonormal 𝕜 v) (hf : Orthonormal 𝕜 (f v)) :
      E →ₗᵢ[𝕜] E'

      A linear map that sends an orthonormal basis to orthonormal vectors is a linear isometry.

      Equations
      Instances For
        @[simp]
        theorem LinearMap.coe_isometryOfOrthonormal {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {E' : Type u_7} [SeminormedAddCommGroup E'] [InnerProductSpace 𝕜 E'] (f : E →ₗ[𝕜] E') {v : Module.Basis ι 𝕜 E} (hv : Orthonormal 𝕜 v) (hf : Orthonormal 𝕜 (f v)) :
        (f.isometryOfOrthonormal hv hf) = f
        @[simp]
        theorem LinearMap.isometryOfOrthonormal_toLinearMap {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {E' : Type u_7} [SeminormedAddCommGroup E'] [InnerProductSpace 𝕜 E'] (f : E →ₗ[𝕜] E') {v : Module.Basis ι 𝕜 E} (hv : Orthonormal 𝕜 v) (hf : Orthonormal 𝕜 (f v)) :
        def LinearEquiv.isometryOfOrthonormal {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {E' : Type u_7} [SeminormedAddCommGroup E'] [InnerProductSpace 𝕜 E'] (f : E ≃ₗ[𝕜] E') {v : Module.Basis ι 𝕜 E} (hv : Orthonormal 𝕜 v) (hf : Orthonormal 𝕜 (f v)) :
        E ≃ₗᵢ[𝕜] E'

        A linear equivalence that sends an orthonormal basis to orthonormal vectors is a linear isometric equivalence.

        Equations
        Instances For
          @[simp]
          theorem LinearEquiv.coe_isometryOfOrthonormal {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {E' : Type u_7} [SeminormedAddCommGroup E'] [InnerProductSpace 𝕜 E'] (f : E ≃ₗ[𝕜] E') {v : Module.Basis ι 𝕜 E} (hv : Orthonormal 𝕜 v) (hf : Orthonormal 𝕜 (f v)) :
          (f.isometryOfOrthonormal hv hf) = f
          @[simp]
          theorem LinearEquiv.isometryOfOrthonormal_toLinearEquiv {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {E' : Type u_7} [SeminormedAddCommGroup E'] [InnerProductSpace 𝕜 E'] (f : E ≃ₗ[𝕜] E') {v : Module.Basis ι 𝕜 E} (hv : Orthonormal 𝕜 v) (hf : Orthonormal 𝕜 (f v)) :
          noncomputable def Orthonormal.equiv {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {ι' : Type u_5} {E' : Type u_7} [SeminormedAddCommGroup E'] [InnerProductSpace 𝕜 E'] {v : Module.Basis ι 𝕜 E} (hv : Orthonormal 𝕜 v) {v' : Module.Basis ι' 𝕜 E'} (hv' : Orthonormal 𝕜 v') (e : ι ι') :
          E ≃ₗᵢ[𝕜] E'

          A linear isometric equivalence that sends an orthonormal basis to a given orthonormal basis.

          Equations
          Instances For
            @[simp]
            theorem Orthonormal.equiv_toLinearEquiv {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {ι' : Type u_5} {E' : Type u_7} [SeminormedAddCommGroup E'] [InnerProductSpace 𝕜 E'] {v : Module.Basis ι 𝕜 E} (hv : Orthonormal 𝕜 v) {v' : Module.Basis ι' 𝕜 E'} (hv' : Orthonormal 𝕜 v') (e : ι ι') :
            (hv.equiv hv' e).toLinearEquiv = v.equiv v' e
            @[simp]
            theorem Orthonormal.equiv_apply {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {E' : Type u_7} [SeminormedAddCommGroup E'] [InnerProductSpace 𝕜 E'] {ι' : Type u_9} {v : Module.Basis ι 𝕜 E} (hv : Orthonormal 𝕜 v) {v' : Module.Basis ι' 𝕜 E'} (hv' : Orthonormal 𝕜 v') (e : ι ι') (i : ι) :
            (hv.equiv hv' e) (v i) = v' (e i)
            @[simp]
            theorem Orthonormal.equiv_trans {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {ι' : Type u_5} {ι'' : Type u_6} {E' : Type u_7} [SeminormedAddCommGroup E'] [InnerProductSpace 𝕜 E'] {E'' : Type u_8} [SeminormedAddCommGroup E''] [InnerProductSpace 𝕜 E''] {v : Module.Basis ι 𝕜 E} (hv : Orthonormal 𝕜 v) {v' : Module.Basis ι' 𝕜 E'} (hv' : Orthonormal 𝕜 v') (e : ι ι') {v'' : Module.Basis ι'' 𝕜 E''} (hv'' : Orthonormal 𝕜 v'') (e' : ι' ι'') :
            (hv.equiv hv' e).trans (hv'.equiv hv'' e') = hv.equiv hv'' (e.trans e')
            theorem Orthonormal.map_equiv {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {ι' : Type u_5} {E' : Type u_7} [SeminormedAddCommGroup E'] [InnerProductSpace 𝕜 E'] {v : Module.Basis ι 𝕜 E} (hv : Orthonormal 𝕜 v) {v' : Module.Basis ι' 𝕜 E'} (hv' : Orthonormal 𝕜 v') (e : ι ι') :
            v.map (hv.equiv hv' e).toLinearEquiv = v'.reindex e.symm
            @[simp]
            theorem Orthonormal.equiv_refl {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {v : Module.Basis ι 𝕜 E} (hv : Orthonormal 𝕜 v) :
            @[simp]
            theorem Orthonormal.equiv_symm {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} {ι' : Type u_5} {E' : Type u_6} [SeminormedAddCommGroup E'] [InnerProductSpace 𝕜 E'] {v : Module.Basis ι 𝕜 E} (hv : Orthonormal 𝕜 v) {v' : Module.Basis ι' 𝕜 E'} (hv' : Orthonormal 𝕜 v') (e : ι ι') :
            (hv.equiv hv' e).symm = hv'.equiv hv e.symm
            theorem Orthonormal.sum_inner_products_le {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} (x : E) {v : ιE} {s : Finset ι} (hv : Orthonormal 𝕜 v) :
            is, inner 𝕜 (v i) x ^ 2 x ^ 2

            Bessel's inequality for finite sums.

            theorem Orthonormal.tsum_inner_products_le {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} (x : E) {v : ιE} (hv : Orthonormal 𝕜 v) :
            ∑' (i : ι), inner 𝕜 (v i) x ^ 2 x ^ 2

            Bessel's inequality.

            theorem Orthonormal.inner_products_summable {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [SeminormedAddCommGroup E] [InnerProductSpace 𝕜 E] {ι : Type u_4} (x : E) {v : ιE} (hv : Orthonormal 𝕜 v) :
            Summable fun (i : ι) => inner 𝕜 (v i) x ^ 2

            The sum defined in Bessel's inequality is summable.