Documentation

Mathlib.Analysis.InnerProductSpace.l2Space

Hilbert sum of a family of inner product spaces #

Given a family (G : ฮน โ†’ Type*) [ฮ  i, InnerProductSpace ๐•œ (G i)] of inner product spaces, this file equips lp G 2 with an inner product space structure, where lp G 2 consists of those dependent functions f : ฮ  i, G i for which โˆ‘' i, โ€–f iโ€– ^ 2, the sum of the norms-squared, is summable. This construction is sometimes called the Hilbert sum of the family G. By choosing G to be ฮน โ†’ ๐•œ, the Hilbert space โ„“ยฒ(ฮน, ๐•œ) may be seen as a special case of this construction.

We also define a predicate IsHilbertSum ๐•œ G V, where V : ฮ  i, G i โ†’โ‚—แตข[๐•œ] E, expressing that V is an OrthogonalFamily and that the associated map lp G 2 โ†’โ‚—แตข[๐•œ] E is surjective.

Main definitions #

Main results #

Keywords #

Hilbert space, Hilbert sum, l2, Hilbert basis, unitary equivalence, isometric isomorphism

Inner product space structure on lp G 2 #

theorem lp.summable_inner {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {G : ฮน โ†’ Type u_4} [(i : ฮน) โ†’ NormedAddCommGroup (G i)] [(i : ฮน) โ†’ InnerProductSpace ๐•œ (G i)] (f g : โ†ฅ(lp G 2)) :
Summable fun (i : ฮน) => inner ๐•œ (โ†‘f i) (โ†‘g i)
@[implicit_reducible]
noncomputable instance lp.instInnerProductSpace {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {G : ฮน โ†’ Type u_4} [(i : ฮน) โ†’ NormedAddCommGroup (G i)] [(i : ฮน) โ†’ InnerProductSpace ๐•œ (G i)] :
InnerProductSpace ๐•œ โ†ฅ(lp G 2)
theorem lp.inner_eq_tsum {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {G : ฮน โ†’ Type u_4} [(i : ฮน) โ†’ NormedAddCommGroup (G i)] [(i : ฮน) โ†’ InnerProductSpace ๐•œ (G i)] (f g : โ†ฅ(lp G 2)) :
inner ๐•œ f g = โˆ‘' (i : ฮน), inner ๐•œ (โ†‘f i) (โ†‘g i)
theorem lp.hasSum_inner {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {G : ฮน โ†’ Type u_4} [(i : ฮน) โ†’ NormedAddCommGroup (G i)] [(i : ฮน) โ†’ InnerProductSpace ๐•œ (G i)] (f g : โ†ฅ(lp G 2)) :
HasSum (fun (i : ฮน) => inner ๐•œ (โ†‘f i) (โ†‘g i)) (inner ๐•œ f g)
theorem lp.inner_single_left {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {G : ฮน โ†’ Type u_4} [(i : ฮน) โ†’ NormedAddCommGroup (G i)] [(i : ฮน) โ†’ InnerProductSpace ๐•œ (G i)] [DecidableEq ฮน] (i : ฮน) (a : G i) (f : โ†ฅ(lp G 2)) :
inner ๐•œ (lp.single 2 i a) f = inner ๐•œ a (โ†‘f i)
theorem lp.inner_single_right {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {G : ฮน โ†’ Type u_4} [(i : ฮน) โ†’ NormedAddCommGroup (G i)] [(i : ฮน) โ†’ InnerProductSpace ๐•œ (G i)] [DecidableEq ฮน] (i : ฮน) (a : G i) (f : โ†ฅ(lp G 2)) :
inner ๐•œ f (lp.single 2 i a) = inner ๐•œ (โ†‘f i) a

Identification of a general Hilbert space E with a Hilbert sum #

theorem OrthogonalFamily.summable_of_lp {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {G : ฮน โ†’ Type u_4} [(i : ฮน) โ†’ NormedAddCommGroup (G i)] [(i : ฮน) โ†’ InnerProductSpace ๐•œ (G i)] [CompleteSpace E] {V : (i : ฮน) โ†’ G i โ†’โ‚—แตข[๐•œ] E} (hV : OrthogonalFamily ๐•œ G V) (f : โ†ฅ(lp G 2)) :
Summable fun (i : ฮน) => (V i) (โ†‘f i)
noncomputable def OrthogonalFamily.linearIsometry {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {G : ฮน โ†’ Type u_4} [(i : ฮน) โ†’ NormedAddCommGroup (G i)] [(i : ฮน) โ†’ InnerProductSpace ๐•œ (G i)] [CompleteSpace E] {V : (i : ฮน) โ†’ G i โ†’โ‚—แตข[๐•œ] E} (hV : OrthogonalFamily ๐•œ G V) :
โ†ฅ(lp G 2) โ†’โ‚—แตข[๐•œ] E

A mutually orthogonal family of subspaces of E induce a linear isometry from lp 2 of the subspaces into E.

Instances For
    theorem OrthogonalFamily.linearIsometry_apply {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {G : ฮน โ†’ Type u_4} [(i : ฮน) โ†’ NormedAddCommGroup (G i)] [(i : ฮน) โ†’ InnerProductSpace ๐•œ (G i)] [CompleteSpace E] {V : (i : ฮน) โ†’ G i โ†’โ‚—แตข[๐•œ] E} (hV : OrthogonalFamily ๐•œ G V) (f : โ†ฅ(lp G 2)) :
    hV.linearIsometry f = โˆ‘' (i : ฮน), (V i) (โ†‘f i)
    theorem OrthogonalFamily.hasSum_linearIsometry {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {G : ฮน โ†’ Type u_4} [(i : ฮน) โ†’ NormedAddCommGroup (G i)] [(i : ฮน) โ†’ InnerProductSpace ๐•œ (G i)] [CompleteSpace E] {V : (i : ฮน) โ†’ G i โ†’โ‚—แตข[๐•œ] E} (hV : OrthogonalFamily ๐•œ G V) (f : โ†ฅ(lp G 2)) :
    HasSum (fun (i : ฮน) => (V i) (โ†‘f i)) (hV.linearIsometry f)
    @[simp]
    theorem OrthogonalFamily.linearIsometry_apply_single {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {G : ฮน โ†’ Type u_4} [(i : ฮน) โ†’ NormedAddCommGroup (G i)] [(i : ฮน) โ†’ InnerProductSpace ๐•œ (G i)] [CompleteSpace E] {V : (i : ฮน) โ†’ G i โ†’โ‚—แตข[๐•œ] E} (hV : OrthogonalFamily ๐•œ G V) [DecidableEq ฮน] {i : ฮน} (x : G i) :
    hV.linearIsometry (lp.single 2 i x) = (V i) x
    theorem OrthogonalFamily.linearIsometry_apply_dfinsupp_sum_single {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {G : ฮน โ†’ Type u_4} [(i : ฮน) โ†’ NormedAddCommGroup (G i)] [(i : ฮน) โ†’ InnerProductSpace ๐•œ (G i)] [CompleteSpace E] {V : (i : ฮน) โ†’ G i โ†’โ‚—แตข[๐•œ] E} (hV : OrthogonalFamily ๐•œ G V) [DecidableEq ฮน] [(i : ฮน) โ†’ DecidableEq (G i)] (Wโ‚€ : ฮ โ‚€ (i : ฮน), G i) :
    hV.linearIsometry (Wโ‚€.sum (lp.single 2)) = Wโ‚€.sum fun (i : ฮน) => โ‡‘(V i)
    theorem OrthogonalFamily.range_linearIsometry {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {G : ฮน โ†’ Type u_4} [(i : ฮน) โ†’ NormedAddCommGroup (G i)] [(i : ฮน) โ†’ InnerProductSpace ๐•œ (G i)] [CompleteSpace E] {V : (i : ฮน) โ†’ G i โ†’โ‚—แตข[๐•œ] E} (hV : OrthogonalFamily ๐•œ G V) [โˆ€ (i : ฮน), CompleteSpace (G i)] :
    hV.linearIsometry.range = (โจ† (i : ฮน), (V i).range).topologicalClosure

    The canonical linear isometry from the lp 2 of a mutually orthogonal family of subspaces of E into E, has range the closure of the span of the subspaces.

    structure IsHilbertSum {ฮน : Type u_1} (๐•œ : Type u_2) [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (G : ฮน โ†’ Type u_4) [(i : ฮน) โ†’ NormedAddCommGroup (G i)] [(i : ฮน) โ†’ InnerProductSpace ๐•œ (G i)] [CompleteSpace E] (V : (i : ฮน) โ†’ G i โ†’โ‚—แตข[๐•œ] E) :

    Given a family of Hilbert spaces G : ฮน โ†’ Type*, a Hilbert sum of G consists of a Hilbert space E and an orthogonal family V : ฮ  i, G i โ†’โ‚—แตข[๐•œ] E such that the induced isometry ฮฆ : lp G 2 โ†’ E is surjective.

    Keeping in mind that lp G 2 is "the" external Hilbert sum of G : ฮน โ†’ Type*, this is analogous to DirectSum.IsInternal, except that we don't express it in terms of actual submodules.

    • ofSurjective :: (
      • OrthogonalFamily : OrthogonalFamily ๐•œ G V

        The orthogonal family constituting the summands in the Hilbert sum.

      • surjective_isometry : Function.Surjective โ‡‘โ‹ฏ.linearIsometry

        The isometry lp G 2 โ†’ E induced by the orthogonal family is surjective.

    • )
    Instances For
      theorem IsHilbertSum.mk {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {G : ฮน โ†’ Type u_4} [(i : ฮน) โ†’ NormedAddCommGroup (G i)] [(i : ฮน) โ†’ InnerProductSpace ๐•œ (G i)] [CompleteSpace E] {V : (i : ฮน) โ†’ G i โ†’โ‚—แตข[๐•œ] E} [โˆ€ (i : ฮน), CompleteSpace (G i)] (hVortho : OrthogonalFamily ๐•œ G V) (hVtotal : โŠค โ‰ค (โจ† (i : ฮน), (V i).range).topologicalClosure) :
      IsHilbertSum ๐•œ G V

      If V : ฮ  i, G i โ†’โ‚—แตข[๐•œ] E is an orthogonal family such that the supremum of the ranges of V i is dense, then (E, V) is a Hilbert sum of G.

      theorem IsHilbertSum.mkInternal {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] (F : ฮน โ†’ Submodule ๐•œ E) [โˆ€ (i : ฮน), CompleteSpace โ†ฅ(F i)] (hFortho : OrthogonalFamily ๐•œ (fun (i : ฮน) => โ†ฅ(F i)) fun (i : ฮน) => (F i).subtypeโ‚—แตข) (hFtotal : โŠค โ‰ค (โจ† (i : ฮน), F i).topologicalClosure) :
      IsHilbertSum ๐•œ (fun (i : ฮน) => โ†ฅ(F i)) fun (i : ฮน) => (F i).subtypeโ‚—แตข

      This is Orthonormal.isHilbertSum in the case of actual inclusions from subspaces.

      noncomputable def IsHilbertSum.linearIsometryEquiv {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {G : ฮน โ†’ Type u_4} [(i : ฮน) โ†’ NormedAddCommGroup (G i)] [(i : ฮน) โ†’ InnerProductSpace ๐•œ (G i)] [CompleteSpace E] {V : (i : ฮน) โ†’ G i โ†’โ‚—แตข[๐•œ] E} (hV : IsHilbertSum ๐•œ G V) :
      E โ‰ƒโ‚—แตข[๐•œ] โ†ฅ(lp G 2)

      A Hilbert sum (E, V) of G is canonically isomorphic to the Hilbert sum of G, i.e lp G 2.

      Note that this goes in the opposite direction from OrthogonalFamily.linearIsometry.

      Instances For
        theorem IsHilbertSum.linearIsometryEquiv_symm_apply {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {G : ฮน โ†’ Type u_4} [(i : ฮน) โ†’ NormedAddCommGroup (G i)] [(i : ฮน) โ†’ InnerProductSpace ๐•œ (G i)] [CompleteSpace E] {V : (i : ฮน) โ†’ G i โ†’โ‚—แตข[๐•œ] E} (hV : IsHilbertSum ๐•œ G V) (w : โ†ฅ(lp G 2)) :
        hV.linearIsometryEquiv.symm w = โˆ‘' (i : ฮน), (V i) (โ†‘w i)

        In the canonical isometric isomorphism between a Hilbert sum E of G and lp G 2, a vector w : lp G 2 is the image of the infinite sum of the associated elements in E.

        theorem IsHilbertSum.hasSum_linearIsometryEquiv_symm {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {G : ฮน โ†’ Type u_4} [(i : ฮน) โ†’ NormedAddCommGroup (G i)] [(i : ฮน) โ†’ InnerProductSpace ๐•œ (G i)] [CompleteSpace E] {V : (i : ฮน) โ†’ G i โ†’โ‚—แตข[๐•œ] E} (hV : IsHilbertSum ๐•œ G V) (w : โ†ฅ(lp G 2)) :
        HasSum (fun (i : ฮน) => (V i) (โ†‘w i)) (hV.linearIsometryEquiv.symm w)

        In the canonical isometric isomorphism between a Hilbert sum E of G and lp G 2, a vector w : lp G 2 is the image of the infinite sum of the associated elements in E, and this sum indeed converges.

        @[simp]
        theorem IsHilbertSum.linearIsometryEquiv_symm_apply_single {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {G : ฮน โ†’ Type u_4} [(i : ฮน) โ†’ NormedAddCommGroup (G i)] [(i : ฮน) โ†’ InnerProductSpace ๐•œ (G i)] [CompleteSpace E] {V : (i : ฮน) โ†’ G i โ†’โ‚—แตข[๐•œ] E} [DecidableEq ฮน] (hV : IsHilbertSum ๐•œ G V) {i : ฮน} (x : G i) :
        hV.linearIsometryEquiv.symm (lp.single 2 i x) = (V i) x

        In the canonical isometric isomorphism between a Hilbert sum E of G : ฮน โ†’ Type* and lp G 2, an "elementary basis vector" in lp G 2 supported at i : ฮน is the image of the associated element in E.

        theorem IsHilbertSum.linearIsometryEquiv_symm_apply_dfinsupp_sum_single {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {G : ฮน โ†’ Type u_4} [(i : ฮน) โ†’ NormedAddCommGroup (G i)] [(i : ฮน) โ†’ InnerProductSpace ๐•œ (G i)] [CompleteSpace E] {V : (i : ฮน) โ†’ G i โ†’โ‚—แตข[๐•œ] E} [DecidableEq ฮน] [(i : ฮน) โ†’ DecidableEq (G i)] (hV : IsHilbertSum ๐•œ G V) (Wโ‚€ : ฮ โ‚€ (i : ฮน), G i) :
        hV.linearIsometryEquiv.symm (Wโ‚€.sum (lp.single 2)) = Wโ‚€.sum fun (i : ฮน) => โ‡‘(V i)

        In the canonical isometric isomorphism between a Hilbert sum E of G : ฮน โ†’ Type* and lp G 2, a finitely-supported vector in lp G 2 is the image of the associated finite sum of elements of E.

        @[simp]
        theorem IsHilbertSum.linearIsometryEquiv_apply_dfinsupp_sum_single {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {G : ฮน โ†’ Type u_4} [(i : ฮน) โ†’ NormedAddCommGroup (G i)] [(i : ฮน) โ†’ InnerProductSpace ๐•œ (G i)] [CompleteSpace E] {V : (i : ฮน) โ†’ G i โ†’โ‚—แตข[๐•œ] E} [DecidableEq ฮน] [(i : ฮน) โ†’ DecidableEq (G i)] (hV : IsHilbertSum ๐•œ G V) (Wโ‚€ : ฮ โ‚€ (i : ฮน), G i) :
        โ†‘(Wโ‚€.sum fun (a : ฮน) (b : G a) => hV.linearIsometryEquiv ((V a) b)) = โ‡‘Wโ‚€

        In the canonical isometric isomorphism between a Hilbert sum E of G : ฮน โ†’ Type* and lp G 2, a finitely-supported vector in lp G 2 is the image of the associated finite sum of elements of E.

        theorem Orthonormal.isHilbertSum {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] {v : ฮน โ†’ E} (hv : Orthonormal ๐•œ v) (hsp : โŠค โ‰ค (Submodule.span ๐•œ (Set.range v)).topologicalClosure) :
        IsHilbertSum ๐•œ (fun (x : ฮน) => ๐•œ) fun (i : ฮน) => LinearIsometry.toSpanSingleton ๐•œ E โ‹ฏ

        Given a total orthonormal family v : ฮน โ†’ E, E is a Hilbert sum of fun i : ฮน => ๐•œ relative to the family of linear isometries fun i k => k โ€ข v i.

        theorem Submodule.isHilbertSumOrthogonal {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] (K : Submodule ๐•œ E) [hK : CompleteSpace โ†ฅK] :
        IsHilbertSum ๐•œ (fun (b : Bool) => โ†ฅ(bif b then K else Kแ—ฎ)) fun (b : Bool) => (bif b then K else Kแ—ฎ).subtypeโ‚—แตข

        Hilbert bases #

        structure HilbertBasis (ฮน : Type u_1) (๐•œ : Type u_2) [RCLike ๐•œ] (E : Type u_3) [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] :
        Type (max (max u_1 u_2) u_3)

        A Hilbert basis on ฮน for an inner product space E is an identification of E with the lp space โ„“ยฒ(ฮน, ๐•œ).

        • ofRepr :: (
          • repr : E โ‰ƒโ‚—แตข[๐•œ] โ†ฅ(lp (fun (x : ฮน) => ๐•œ) 2)

            The linear isometric equivalence implementing identifying the Hilbert space with โ„“ยฒ.

        • )
        Instances For
          @[implicit_reducible]
          noncomputable instance HilbertBasis.instInhabitedSubtypePreLpMemAddSubgroupLpOfNatENNReal {๐•œ : Type u_2} [RCLike ๐•œ] {ฮน : Type u_5} :
          Inhabited (HilbertBasis ฮน ๐•œ โ†ฅ(lp (fun (x : ฮน) => ๐•œ) 2))
          @[implicit_reducible]
          noncomputable instance HilbertBasis.instFunLike {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] :
          FunLike (HilbertBasis ฮน ๐•œ E) ฮน E

          b i is the ith basis vector.

          @[simp]
          theorem HilbertBasis.repr_symm_single {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [DecidableEq ฮน] (b : HilbertBasis ฮน ๐•œ E) (i : ฮน) :
          b.repr.symm (lp.single 2 i 1) = b i
          theorem HilbertBasis.repr_self {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [DecidableEq ฮน] (b : HilbertBasis ฮน ๐•œ E) (i : ฮน) :
          b.repr (b i) = lp.single 2 i 1
          theorem HilbertBasis.repr_apply_apply {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (b : HilbertBasis ฮน ๐•œ E) (v : E) (i : ฮน) :
          โ†‘(b.repr v) i = inner ๐•œ (b i) v
          @[simp]
          theorem HilbertBasis.orthonormal {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (b : HilbertBasis ฮน ๐•œ E) :
          Orthonormal ๐•œ โ‡‘b
          theorem HilbertBasis.hasSum_repr_symm {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (b : HilbertBasis ฮน ๐•œ E) (f : โ†ฅ(lp (fun (x : ฮน) => ๐•œ) 2)) :
          HasSum (fun (i : ฮน) => โ†‘f i โ€ข b i) (b.repr.symm f)
          theorem HilbertBasis.hasSum_repr {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (b : HilbertBasis ฮน ๐•œ E) (x : E) :
          HasSum (fun (i : ฮน) => โ†‘(b.repr x) i โ€ข b i) x
          @[simp]
          theorem HilbertBasis.dense_span {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (b : HilbertBasis ฮน ๐•œ E) :
          theorem HilbertBasis.hasSum_inner_mul_inner {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (b : HilbertBasis ฮน ๐•œ E) (x y : E) :
          HasSum (fun (i : ฮน) => inner ๐•œ x (b i) * inner ๐•œ (b i) y) (inner ๐•œ x y)
          theorem HilbertBasis.summable_inner_mul_inner {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (b : HilbertBasis ฮน ๐•œ E) (x y : E) :
          Summable fun (i : ฮน) => inner ๐•œ x (b i) * inner ๐•œ (b i) y
          theorem HilbertBasis.tsum_inner_mul_inner {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (b : HilbertBasis ฮน ๐•œ E) (x y : E) :
          โˆ‘' (i : ฮน), inner ๐•œ x (b i) * inner ๐•œ (b i) y = inner ๐•œ x y
          noncomputable def HilbertBasis.toOrthonormalBasis {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [Fintype ฮน] (b : HilbertBasis ฮน ๐•œ E) :
          OrthonormalBasis ฮน ๐•œ E

          A finite Hilbert basis is an orthonormal basis.

          Instances For
            @[simp]
            theorem HilbertBasis.coe_toOrthonormalBasis {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [Fintype ฮน] (b : HilbertBasis ฮน ๐•œ E) :
            โ‡‘b.toOrthonormalBasis = โ‡‘b
            theorem HilbertBasis.hasSum_orthogonalProjection {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {U : Submodule ๐•œ E} [CompleteSpace โ†ฅU] (b : HilbertBasis ฮน ๐•œ โ†ฅU) (x : E) :
            HasSum (fun (i : ฮน) => inner ๐•œ (โ†‘(b i)) x โ€ข b i) (U.orthogonalProjection x)
            theorem HilbertBasis.finite_spans_dense {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [DecidableEq E] (b : HilbertBasis ฮน ๐•œ E) :
            (โจ† (J : Finset ฮน), Submodule.span ๐•œ โ†‘(Finset.image (โ‡‘b) J)).topologicalClosure = โŠค
            noncomputable def HilbertBasis.mk {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] {v : ฮน โ†’ E} (hv : Orthonormal ๐•œ v) (hsp : โŠค โ‰ค (Submodule.span ๐•œ (Set.range v)).topologicalClosure) :
            HilbertBasis ฮน ๐•œ E

            An orthonormal family of vectors whose span is dense in the whole module is a Hilbert basis.

            Instances For
              theorem Orthonormal.linearIsometryEquiv_symm_apply_single_one {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] {v : ฮน โ†’ E} (hv : Orthonormal ๐•œ v) [DecidableEq ฮน] (h : โŠค โ‰ค (Submodule.span ๐•œ (Set.range v)).topologicalClosure) (i : ฮน) :
              โ‹ฏ.linearIsometryEquiv.symm (lp.single 2 i 1) = v i
              @[simp]
              theorem HilbertBasis.coe_mk {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] {v : ฮน โ†’ E} (hv : Orthonormal ๐•œ v) (hsp : โŠค โ‰ค (Submodule.span ๐•œ (Set.range v)).topologicalClosure) :
              โ‡‘(HilbertBasis.mk hv hsp) = v
              noncomputable def HilbertBasis.mkOfOrthogonalEqBot {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] {v : ฮน โ†’ E} (hv : Orthonormal ๐•œ v) (hsp : (Submodule.span ๐•œ (Set.range v))แ—ฎ = โŠฅ) :
              HilbertBasis ฮน ๐•œ E

              An orthonormal family of vectors whose span has trivial orthogonal complement is a Hilbert basis.

              Instances For
                @[simp]
                theorem HilbertBasis.coe_mkOfOrthogonalEqBot {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] {v : ฮน โ†’ E} (hv : Orthonormal ๐•œ v) (hsp : (Submodule.span ๐•œ (Set.range v))แ—ฎ = โŠฅ) :
                noncomputable def OrthonormalBasis.toHilbertBasis {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [Fintype ฮน] (b : OrthonormalBasis ฮน ๐•œ E) :
                HilbertBasis ฮน ๐•œ E

                An orthonormal basis is a Hilbert basis.

                Instances For
                  @[simp]
                  theorem OrthonormalBasis.coe_toHilbertBasis {ฮน : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [Fintype ฮน] (b : OrthonormalBasis ฮน ๐•œ E) :
                  โ‡‘b.toHilbertBasis = โ‡‘b
                  theorem Orthonormal.exists_hilbertBasis_extension {๐•œ : Type u_2} [RCLike ๐•œ] {E : Type u_3} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] {s : Set E} (hs : Orthonormal ๐•œ Subtype.val) :
                  โˆƒ (w : Set E) (b : HilbertBasis (โ†‘w) ๐•œ E), s โІ w โˆง โ‡‘b = Subtype.val

                  A Hilbert space admits a Hilbert basis extending a given orthonormal subset.

                  theorem exists_hilbertBasis (๐•œ : Type u_2) [RCLike ๐•œ] (E : Type u_3) [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] :
                  โˆƒ (w : Set E) (b : HilbertBasis (โ†‘w) ๐•œ E), โ‡‘b = Subtype.val

                  A Hilbert space admits a Hilbert basis.