Documentation

TauCeti.Analysis.InnerProductSpace.BasisSpan

Spans of orthonormal subfamilies #

For a finite-index orthonormal basis and a set of indices, spanIndices is the subspace spanned by the corresponding basis vectors.

Main results #

Source #

Adapted from ForTauCeti/Analysis/InnerProductSpace/BasisSpan.lean in the AIQ-Kitware DKPS formalization (Kitware, Inc.; Apache-2.0). The selected-span construction originates in the Courant--Fischer development.

noncomputable def OrthonormalBasis.spanIndices {๐•œ : Type u_1} {E : Type u_2} {ฮน : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [Fintype ฮน] (b : OrthonormalBasis ฮน ๐•œ E) (s : Set ฮน) :
Submodule ๐•œ E

The subspace spanned by the orthonormal basis vectors b i for indices i โˆˆ s.

Instances For
    theorem OrthonormalBasis.spanIndices_eq_span {๐•œ : Type u_1} {E : Type u_2} {ฮน : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [Fintype ฮน] (b : OrthonormalBasis ฮน ๐•œ E) (s : Set ฮน) :
    b.spanIndices s = Submodule.span ๐•œ (โ‡‘b '' s)

    The selected subspace is the span of its basis vectors. Use this identity to apply Submodule.span's induction or universal property.

    theorem OrthonormalBasis.span_range_comp_subtypeVal_eq_spanIndices {๐•œ : Type u_1} {E : Type u_2} {ฮน : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [Fintype ฮน] (b : OrthonormalBasis ฮน ๐•œ E) (s : Set ฮน) :

    The basis vectors indexed by the coordinate block s, as a family indexed by s, span the selected subspace.

    theorem OrthonormalBasis.spanIndices_mono {๐•œ : Type u_1} {E : Type u_2} {ฮน : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [Fintype ฮน] (b : OrthonormalBasis ฮน ๐•œ E) {s t : Set ฮน} (h : s โІ t) :

    Selecting more indices spans more.

    theorem OrthonormalBasis.mem_spanIndices_of_mem {๐•œ : Type u_1} {E : Type u_2} {ฮน : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [Fintype ฮน] (b : OrthonormalBasis ฮน ๐•œ E) {s : Set ฮน} {i : ฮน} (hi : i โˆˆ s) :

    A selected basis vector lies in the span of its index set.

    theorem OrthonormalBasis.repr_eq_zero_of_mem_spanIndices {๐•œ : Type u_1} {E : Type u_2} {ฮน : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [Fintype ฮน] (b : OrthonormalBasis ฮน ๐•œ E) {s : Set ฮน} {x : E} (hx : x โˆˆ b.spanIndices s) {i : ฮน} (hi : i โˆ‰ s) :
    (b.repr x).ofLp i = 0

    A vector in the span of a selected subfamily has zero coordinate at any index outside the selection.

    @[simp]
    theorem OrthonormalBasis.mem_spanIndices_iff {๐•œ : Type u_1} {E : Type u_2} {ฮน : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [Fintype ฮน] (b : OrthonormalBasis ฮน ๐•œ E) {s : Set ฮน} {x : E} :
    x โˆˆ b.spanIndices s โ†” โˆ€ i โˆ‰ s, (b.repr x).ofLp i = 0

    Membership in the span of a selected subfamily is exactly the vanishing of the coordinates outside the selection.

    theorem OrthonormalBasis.finrank_spanIndices {๐•œ : Type u_1} {E : Type u_2} {ฮน : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [Fintype ฮน] (b : OrthonormalBasis ฮน ๐•œ E) (s : Finset ฮน) :
    Module.finrank ๐•œ โ†ฅ(b.spanIndices โ†‘s) = s.card

    The span of a selected subfamily has dimension the number of selected indices.

    theorem OrthonormalBasis.rank_spanIndices_val_lt_le {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {m : โ„•} (b : OrthonormalBasis (Fin m) ๐•œ E) (n : โ„•) :
    Module.rank ๐•œ โ†ฅ(b.spanIndices โ†‘{i : Fin m | โ†‘i < n}) โ‰ค โ†‘n

    The span of the basis vectors with index below n has rank at most n.

    theorem OrthonormalBasis.finrank_spanIndices_set {๐•œ : Type u_1} {E : Type u_2} {ฮน : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [Fintype ฮน] (b : OrthonormalBasis ฮน ๐•œ E) (s : Set ฮน) :
    Module.finrank ๐•œ โ†ฅ(b.spanIndices s) = s.ncard

    The span of a selected set of basis vectors has dimension equal to the number of selected indices.

    theorem OrthonormalBasis.orthogonal_spanIndices {๐•œ : Type u_1} {E : Type u_2} {ฮน : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [Fintype ฮน] (b : OrthonormalBasis ฮน ๐•œ E) (s : Set ฮน) :

    The orthogonal complement of the span of a selected subfamily is the span of the complementary subfamily.

    theorem OrthonormalBasis.mem_spanIndices_le_of_mem_orthogonal {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {m : โ„•} (b : OrthonormalBasis (Fin m) ๐•œ E) {n : โ„•} {x : E} (hx : x โˆˆ (b.spanIndices โ†‘{i : Fin m | โ†‘i < n})แ—ฎ) :
    x โˆˆ b.spanIndices {i : Fin m | n โ‰ค โ†‘i}

    A vector orthogonal to the first n basis vectors lies in the remaining span.