Documentation

LeanPool.DavisKahan.ForTauCeti.Analysis.InnerProductSpace.Gram.Matrix

Gram matrix rigidity #

Two families of vectors in inner product spaces over ๐•œ = โ„, โ„‚ with equal pairwise inner products are related by a linear isometry. In finite dimension this upgrades to a linear isometry equivalence of the ambient space, and the hypothesis can be packaged as equality of Matrix.gram matrices.

The engine is a general fact about a pair of linear maps, an isometric refinement of the first isomorphism theorem:

Everything else is specialization. Applying it to the two linear-combination maps Finsupp.linearCombination ๐•œ ฯ† and Finsupp.linearCombination ๐•œ ฯˆ of families ฯ†, ฯˆ with equal pairwise inner products (their pullback inner products then agree by sesquilinearity, inner_linearCombination_eq_of_inner_eq) turns "equal Gram data" into an isometry of spans:

References #

The isometric first isomorphism theorem #

theorem TauCeti.LinearMap.ker_eq_ker_of_inner_eq {๐•œ : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] {M : Type u_5} [AddCommGroup M] [Module ๐•œ M] (S : M โ†’โ‚—[๐•œ] E) (T : M โ†’โ‚—[๐•œ] F) (h : โˆ€ (x y : M), inner ๐•œ (S x) (S y) = inner ๐•œ (T x) (T y)) :
S.ker = T.ker

Linear maps with equal pullback inner products have equal kernels: S x = 0 iff โŸชS x, S xโŸซ = 0 iff โŸชT x, T xโŸซ = 0 iff T x = 0.

noncomputable def TauCeti.LinearMap.rangeEquivOfInnerEq {๐•œ : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] {M : Type u_5} [AddCommGroup M] [Module ๐•œ M] (S : M โ†’โ‚—[๐•œ] E) (T : M โ†’โ‚—[๐•œ] F) (h : โˆ€ (x y : M), inner ๐•œ (S x) (S y) = inner ๐•œ (T x) (T y)) :
โ†ฅS.range โ‰ƒโ‚—แตข[๐•œ] โ†ฅT.range

Isometric first isomorphism theorem. Two linear maps S, T out of a common module with equal pullback inner products, โŸชS x, S yโŸซ = โŸชT x, T yโŸซ, have canonically isometric ranges, by S x โ†ฆ T x. This is well defined because both ranges are first-isomorphism-theorem images of the common coimage M โงธ ker S = M โงธ ker T (ker_eq_ker_of_inner_eq), and isometric because the hypothesis is precisely the statement that the two inner products induced on the coimage agree.

Equations
Instances For
    @[simp]
    theorem TauCeti.LinearMap.rangeEquivOfInnerEq_apply {๐•œ : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] {M : Type u_5} [AddCommGroup M] [Module ๐•œ M] (S : M โ†’โ‚—[๐•œ] E) (T : M โ†’โ‚—[๐•œ] F) (h : โˆ€ (x y : M), inner ๐•œ (S x) (S y) = inner ๐•œ (T x) (T y)) (x : M) (hx : S x โˆˆ S.range) :
    โ†‘((rangeEquivOfInnerEq S T h) โŸจS x, hxโŸฉ) = T x

    The equivalence built from equal Gram data sends ฯ† i to ฯˆ i; this is the property that characterises it, the construction itself going through linear combinations.

    Families with equal pairwise inner products #

    Provenance #

    theorem TauCeti.inner_linearCombination_eq_of_inner_eq {๐•œ : Type u_1} {E : Type u_2} {F : Type u_3} {ฮน : Type u_4} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] {ฯ† : ฮน โ†’ E} {ฯˆ : ฮน โ†’ F} (h : โˆ€ (i j : ฮน), inner ๐•œ (ฯ† i) (ฯ† j) = inner ๐•œ (ฯˆ i) (ฯˆ j)) (c c' : ฮน โ†’โ‚€ ๐•œ) :
    inner ๐•œ ((Finsupp.linearCombination ๐•œ ฯ†) c) ((Finsupp.linearCombination ๐•œ ฯ†) c') = inner ๐•œ ((Finsupp.linearCombination ๐•œ ฯˆ) c) ((Finsupp.linearCombination ๐•œ ฯˆ) c')

    For families ฯ†, ฯˆ with equal pairwise inner products, the maps of linear combinations โˆ‘ cแตข โ€ข ฯ† i and โˆ‘ cแตข โ€ข ฯˆ i have equal pairwise inner products.

    theorem TauCeti.ker_linearCombination_eq_of_inner_eq {๐•œ : Type u_1} {E : Type u_2} {F : Type u_3} {ฮน : Type u_4} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] {ฯ† : ฮน โ†’ E} {ฯˆ : ฮน โ†’ F} (h : โˆ€ (i j : ฮน), inner ๐•œ (ฯ† i) (ฯ† j) = inner ๐•œ (ฯˆ i) (ฯˆ j)) :
    (Finsupp.linearCombination ๐•œ ฯ†).ker = (Finsupp.linearCombination ๐•œ ฯˆ).ker

    Families with equal pairwise inner products have linear-combination maps with equal kernels: โˆ‘ cแตข โ€ข ฯ† i = 0 โ†” โˆ‘ cแตข โ€ข ฯˆ i = 0.

    noncomputable def TauCeti.linearIsometryEquivSpanOfInnerEq {๐•œ : Type u_1} {E : Type u_2} {F : Type u_3} {ฮน : Type u_4} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] (ฯ† : ฮน โ†’ E) (ฯˆ : ฮน โ†’ F) (h : โˆ€ (i j : ฮน), inner ๐•œ (ฯ† i) (ฯ† j) = inner ๐•œ (ฯˆ i) (ฯˆ j)) :
    โ†ฅ(Submodule.span ๐•œ (Set.range ฯ†)) โ‰ƒโ‚—แตข[๐•œ] โ†ฅ(Submodule.span ๐•œ (Set.range ฯˆ))

    A linear isometry equivalence span ๐•œ (range ฯ†) โ‰ƒโ‚—แตข span ๐•œ (range ฯˆ) sending each ฯ† i to ฯˆ i, when the families ฯ†, ฯˆ (in possibly different inner product spaces over ๐•œ) have equal pairwise inner products. It is the isometric first isomorphism theorem LinearMap.rangeEquivOfInnerEq applied to the two linear-combination maps, whose ranges are the spans. No finiteness is required, and the ambient spaces need not coincide.

    Such an isometry is determined on the spanning family ฯ† (LinearMap.eqOn_span), hence unique; this uniqueness is not separately formalized here.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[simp]
      theorem TauCeti.linearIsometryEquivSpanOfInnerEq_apply_linearCombination {๐•œ : Type u_1} {E : Type u_2} {F : Type u_3} {ฮน : Type u_4} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] (ฯ† : ฮน โ†’ E) (ฯˆ : ฮน โ†’ F) (h : โˆ€ (i j : ฮน), inner ๐•œ (ฯ† i) (ฯ† j) = inner ๐•œ (ฯˆ i) (ฯˆ j)) (c : ฮน โ†’โ‚€ ๐•œ) (hc : (Finsupp.linearCombination ๐•œ ฯ†) c โˆˆ Submodule.span ๐•œ (Set.range ฯ†)) :
      โ†‘((linearIsometryEquivSpanOfInnerEq ฯ† ฯˆ h) โŸจ(Finsupp.linearCombination ๐•œ ฯ†) c, hcโŸฉ) = (Finsupp.linearCombination ๐•œ ฯˆ) c

      linearIsometryEquivSpanOfInnerEq computes on linear combinations: it sends โˆ‘ cแตข โ€ข ฯ† i to โˆ‘ cแตข โ€ข ฯˆ i.

      @[simp]
      theorem TauCeti.linearIsometryEquivSpanOfInnerEq_apply {๐•œ : Type u_1} {E : Type u_2} {F : Type u_3} {ฮน : Type u_4} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] (ฯ† : ฮน โ†’ E) (ฯˆ : ฮน โ†’ F) (h : โˆ€ (i j : ฮน), inner ๐•œ (ฯ† i) (ฯ† j) = inner ๐•œ (ฯˆ i) (ฯˆ j)) (i : ฮน) (hi : ฯ† i โˆˆ Submodule.span ๐•œ (Set.range ฯ†)) :
      โ†‘((linearIsometryEquivSpanOfInnerEq ฯ† ฯˆ h) โŸจฯ† i, hiโŸฉ) = ฯˆ i

      linearIsometryEquivSpanOfInnerEq sends each generator ฯ† i to ฯˆ i: the c = Finsupp.single i 1 case of linearIsometryEquivSpanOfInnerEq_apply_linearCombination.

      theorem TauCeti.exists_linearIsometryEquiv_map_eq_of_inner_eq {๐•œ : Type u_1} {E : Type u_2} {ฮน : Type u_4} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] {ฯ† ฯˆ : ฮน โ†’ E} (h : โˆ€ (i j : ฮน), inner ๐•œ (ฯ† i) (ฯ† j) = inner ๐•œ (ฯˆ i) (ฯˆ j)) :
      โˆƒ (W : E โ‰ƒโ‚—แตข[๐•œ] E), โˆ€ (i : ฮน), W (ฯ† i) = ฯˆ i

      If two families ฯ† ฯˆ : ฮน โ†’ E in a finite-dimensional inner product space have equal pairwise inner products, then there is a linear isometry equivalence W of E with W (ฯ† i) = ฯˆ i for every i. The span-to-span equivalence linearIsometryEquivSpanOfInnerEq is extended to E by LinearIsometry.extend and bundled as an equivalence by finite dimensionality.

      theorem TauCeti.exists_rigidMotion_of_dist_eq {F : Type u_5} [NormedAddCommGroup F] [InnerProductSpace โ„ F] [FiniteDimensional โ„ F] {ฮน : Type u_6} [Nonempty ฮน] {ฯ† ฯˆ : ฮน โ†’ F} (h : โˆ€ (i j : ฮน), โ€–ฯ† i - ฯ† jโ€– = โ€–ฯˆ i - ฯˆ jโ€–) :
      โˆƒ (W : F โ‰ƒโ‚—แตข[โ„] F) (b : F), โˆ€ (i : ฮน), ฯˆ i = W (ฯ† i) + b

      Rigid-motion rigidity. Two families in a finite-dimensional real inner product space with equal pairwise distances differ by a rigid motion: there is a linear isometry equivalence W and a translation b with ฯˆ i = W (ฯ† i) + b for every i.

      This is the affine companion of exists_linearIsometryEquiv_map_eq_of_inner_eq, which needs equal inner products. Recentring at a base index turns equal distances into equal inner products by polarisation, and the linear statement then supplies W.

      It is the classical fact underlying multidimensional scaling: a configuration is determined by its pairwise distances only up to a rigid motion, so a distance-based embedding can be compared with a target configuration only after alignment.

      theorem TauCeti.eventually_exists_rigidMotion_dist_lt {F : Type u_5} [NormedAddCommGroup F] [InnerProductSpace โ„ F] [FiniteDimensional โ„ F] {ฮน : Type u_6} [Finite ฮน] [Nonempty ฮน] {ฯ† : โ„• โ†’ ฮน โ†’ F} {ฯˆ : ฮน โ†’ F} (h : โˆ€ (i j : ฮน), Filter.Tendsto (fun (u : โ„•) => โ€–ฯ† u i - ฯ† u jโ€–) Filter.atTop (nhds โ€–ฯˆ i - ฯˆ jโ€–)) (ฮต : โ„) :
      ฮต > 0 โ†’ โˆ€แถ  (u : โ„•) in Filter.atTop, โˆƒ (W : F โ‰ƒโ‚—แตข[โ„] F) (b : F), โˆ€ (i : ฮน), โ€–W (ฯ† u i) + b - ฯˆ iโ€– < ฮต

      Approximate rigid-motion rigidity. If the pairwise distances of a sequence of finite configurations converge to those of a target, then eventually each configuration is carried arbitrarily close to the target by some rigid motion.

      This is the asymptotic form of exists_rigidMotion_of_dist_eq, and it is what a distance-based consistency statement needs: multidimensional scaling determines a configuration only up to a rigid motion, so convergence of the estimates can be asserted only after alignment.

      The proof is a compactness argument and uses no spectral hypothesis. Recentring at a base index leaves all distances unchanged and bounds the configurations; a bounded sequence in a finite-dimensional space has a convergent subsequence; the limit has exactly the target's pairwise distances; and the exact statement then supplies a rigid motion, which by continuity serves the whole tail.

      theorem TauCeti.exists_delta_forall_exists_rigidMotion {F : Type u_5} [NormedAddCommGroup F] [InnerProductSpace โ„ F] [FiniteDimensional โ„ F] {ฮน : Type u_6} [Finite ฮน] [Nonempty ฮน] (D : โ„) {ฮต : โ„} (hฮต : 0 < ฮต) :
      โˆƒ ฮด > 0, โˆ€ (ฯ† ฯˆ : ฮน โ†’ F), (โˆ€ (i j : ฮน), โ€–ฯˆ i - ฯˆ jโ€– โ‰ค D) โ†’ (โˆ€ (i j : ฮน), |โ€–ฯ† i - ฯ† jโ€– - โ€–ฯˆ i - ฯˆ jโ€–| โ‰ค ฮด) โ†’ โˆƒ (W : F โ‰ƒโ‚—แตข[โ„] F) (b : F), โˆ€ (i : ฮน), โ€–W (ฯ† i) + b - ฯˆ iโ€– โ‰ค ฮต

      Uniform approximate rigid-motion rigidity. For a fixed finite index type, a fixed tolerance ฮต and a fixed bound D on the diameter of the target, one ฮด > 0 serves every pair of configurations: if the target has diameter at most D and the pairwise distances agree to within ฮด, then some rigid motion carries the estimate to within ฮต of the target.

      eventually_exists_rigidMotion_dist_lt is the sequential form of the same fact; the uniform form is what a random target needs, where a modulus that depends on the sample is of no use. The diameter bound cannot be dropped: the hypothesis and conclusion both scale linearly under a simultaneous rescaling of the two configurations, so ฮด must be allowed to depend on the size of the target.

      The proof is again pure compactness and uses no spectral hypothesis: a counterexample sequence, recentred at a base index, is bounded in the finite-dimensional space of configurations, so both the estimates and the targets subconverge; the two limits have equal pairwise distances; exists_rigidMotion_of_dist_eq aligns them exactly; and that one rigid motion then serves a whole tail of the counterexample sequence.

      Alignment error and the aligned configuration #

      Multidimensional scaling recovers a configuration only up to a rigid motion, so the quantity a distance-based consistency statement can control is not the uniform distance to the target but the least uniform distance achievable after moving the estimate by a rigid motion. That is alignmentError, and alignedConfig is an estimate that very nearly attains it.

      def TauCeti.rigidTolerances {F : Type u_5} [NormedAddCommGroup F] [InnerProductSpace โ„ F] {ฮน : Type u_6} (ฯˆ ฯ† : ฮน โ†’ F) :

      The uniform tolerances achievable by carrying ฯ† onto ฯˆ with a rigid motion.

      Equations
      Instances For
        noncomputable def TauCeti.alignmentError {F : Type u_5} [NormedAddCommGroup F] [InnerProductSpace โ„ F] {ฮน : Type u_6} (ฯˆ ฯ† : ฮน โ†’ F) :

        The alignment error of a configuration ฯ† against a target ฯˆ: the least uniform distance to ฯˆ achievable by moving ฯ† with a rigid motion. It vanishes exactly when the two configurations are congruent, and by exists_delta_forall_exists_rigidMotion it is small whenever the pairwise distances are close and the target is not too large.

        Equations
        Instances For
          theorem TauCeti.rigidTolerances_nonempty {F : Type u_5} [NormedAddCommGroup F] [InnerProductSpace โ„ F] {ฮน : Type u_6} [Finite ฮน] [Nonempty ฮน] (ฯˆ ฯ† : ฮน โ†’ F) :

          The set of rigidity tolerances is nonempty.

          theorem TauCeti.bddBelow_rigidTolerances {F : Type u_5} [NormedAddCommGroup F] [InnerProductSpace โ„ F] {ฮน : Type u_6} [Nonempty ฮน] (ฯˆ ฯ† : ฮน โ†’ F) :

          The set of rigidity tolerances is bounded below, so its infimum exists.

          theorem TauCeti.alignmentError_nonneg {F : Type u_5} [NormedAddCommGroup F] [InnerProductSpace โ„ F] {ฮน : Type u_6} [Nonempty ฮน] (ฯˆ ฯ† : ฮน โ†’ F) :
          0 โ‰ค alignmentError ฯˆ ฯ†

          The alignment error is nonnegative.

          theorem TauCeti.alignmentError_le {F : Type u_5} [NormedAddCommGroup F] [InnerProductSpace โ„ F] {ฮน : Type u_6} [Nonempty ฮน] {ฯˆ ฯ† : ฮน โ†’ F} {r : โ„} (h : โˆƒ (W : F โ‰ƒโ‚—แตข[โ„] F) (b : F), โˆ€ (i : ฮน), โ€–W (ฯ† i) + b - ฯˆ iโ€– โ‰ค r) :
          alignmentError ฯˆ ฯ† โ‰ค r

          Any rigid motion achieving a uniform tolerance bounds the alignment error.

          theorem TauCeti.exists_rigidMotion_norm_le_alignmentError_add {F : Type u_5} [NormedAddCommGroup F] [InnerProductSpace โ„ F] {ฮน : Type u_6} [Finite ฮน] [Nonempty ฮน] (ฯˆ ฯ† : ฮน โ†’ F) {t : โ„} (ht : 0 < t) :
          โˆƒ (W : F โ‰ƒโ‚—แตข[โ„] F) (b : F), โˆ€ (i : ฮน), โ€–W (ฯ† i) + b - ฯˆ iโ€– โ‰ค alignmentError ฯˆ ฯ† + t

          The alignment error is approached: for every positive slack some rigid motion achieves it.

          noncomputable def TauCeti.alignedConfig {F : Type u_5} [NormedAddCommGroup F] [InnerProductSpace โ„ F] {ฮน : Type u_6} (ฯˆ ฯ† : ฮน โ†’ F) (t : โ„) :
          ฮน โ†’ F

          The aligned configuration: ฯ† moved by a rigid motion that comes within slack t of the alignment error, and ฯ† itself in the degenerate case where no such motion exists (which exists_rigidMotion_norm_le_alignmentError_add rules out for 0 < t).

          This is the object a consistency statement can compare with the target without quantifying the alignment inside the probability: the motion is chosen sample by sample, so the statement "the aligned estimate converges to the target" needs no external alignment sequence.

          Equations
          Instances For
            theorem TauCeti.norm_alignedConfig_sub_le {F : Type u_5} [NormedAddCommGroup F] [InnerProductSpace โ„ F] {ฮน : Type u_6} [Finite ฮน] [Nonempty ฮน] (ฯˆ ฯ† : ฮน โ†’ F) {t : โ„} (ht : 0 < t) (i : ฮน) :
            โ€–alignedConfig ฯˆ ฯ† t i - ฯˆ iโ€– โ‰ค alignmentError ฯˆ ฯ† + t

            The defining property of alignedConfig.

            theorem TauCeti.dist_alignedConfig_le {F : Type u_5} [NormedAddCommGroup F] [InnerProductSpace โ„ F] {ฮน : Type u_6} [Finite ฮน] [Nonempty ฮน] (ฯˆ ฯ† : ฮน โ†’ F) {t : โ„} (ht : 0 < t) (i : ฮน) :
            dist (alignedConfig ฯˆ ฯ† t i) (ฯˆ i) โ‰ค alignmentError ฯˆ ฯ† + t

            The dist form of norm_alignedConfig_sub_le.

            theorem TauCeti.exists_delta_alignmentError_le {F : Type u_5} [NormedAddCommGroup F] [InnerProductSpace โ„ F] [FiniteDimensional โ„ F] {ฮน : Type u_6} [Finite ฮน] [Nonempty ฮน] (D : โ„) {ฮต : โ„} (hฮต : 0 < ฮต) :
            โˆƒ ฮด > 0, โˆ€ (ฯ† ฯˆ : ฮน โ†’ F), (โˆ€ (i j : ฮน), โ€–ฯˆ i - ฯˆ jโ€– โ‰ค D) โ†’ (โˆ€ (i j : ฮน), |โ€–ฯ† i - ฯ† jโ€– - โ€–ฯˆ i - ฯˆ jโ€–| โ‰ค ฮด) โ†’ alignmentError ฯˆ ฯ† โ‰ค ฮต

            Uniform approximate rigidity, alignment-error form. One ฮด serves every pair: pairwise distances within ฮด of a target of diameter at most D force the alignment error below ฮต.

            This is the shape a convergence-in-probability argument consumes, because ฮด does not depend on the sample.

            theorem TauCeti.Matrix.gram_eq_gram_iff_exists_linearIsometryEquiv_map_eq {๐•œ : Type u_1} {E : Type u_2} {ฮน : Type u_4} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] {ฯ† ฯˆ : ฮน โ†’ E} :
            Matrix.gram ๐•œ ฯ† = Matrix.gram ๐•œ ฯˆ โ†” โˆƒ (W : E โ‰ƒโ‚—แตข[๐•œ] E), โˆ€ (i : ฮน), W (ฯ† i) = ฯˆ i

            Gram rigidity, Matrix.gram form. Two families of vectors in a finite-dimensional inner product space have equal Gram matrices if and only if a linear isometry equivalence of the ambient space maps one family to the other.

            noncomputable def TauCeti.familyMap {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {d : โ„•} (v : Fin d โ†’ E) :
            EuclideanSpace ๐•œ (Fin d) โ†’โ‚—[๐•œ] E

            The linear map EuclideanSpace ๐•œ (Fin d) โ†’โ‚—[๐•œ] E sending the j-th standard basis vector to v j (extended linearly): x โ†ฆ โˆ‘ j, x j โ€ข v j.

            Equations
            Instances For
              @[simp]
              theorem TauCeti.familyMap_apply {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {d : โ„•} (v : Fin d โ†’ E) (x : EuclideanSpace ๐•œ (Fin d)) :
              (familyMap v) x = โˆ‘ i : Fin d, x.ofLp i โ€ข v i

              The family map, unfolded to its expansion in the family.

              theorem TauCeti.familyMap_inner_map_map {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {d : โ„•} {v : Fin d โ†’ E} (hv : Orthonormal ๐•œ v) (x y : EuclideanSpace ๐•œ (Fin d)) :
              inner ๐•œ ((familyMap v) x) ((familyMap v) y) = inner ๐•œ x y

              The coordinate map of an orthonormal family preserves inner products.

              noncomputable def TauCeti.familyIsometry {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {d : โ„•} {v : Fin d โ†’ E} (hv : Orthonormal ๐•œ v) :

              The bundled coordinate isometry EuclideanSpace ๐•œ (Fin d) โ†’โ‚—แตข[๐•œ] E of an orthonormal family v, sending eโฑผ โ†ฆ vโฑผ.

              Equations
              Instances For
                @[simp]
                theorem TauCeti.familyIsometry_apply {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {d : โ„•} {v : Fin d โ†’ E} (hv : Orthonormal ๐•œ v) (x : EuclideanSpace ๐•œ (Fin d)) :
                (familyIsometry hv) x = โˆ‘ i : Fin d, x.ofLp i โ€ข v i

                The bundled isometry acts as the family map.

                theorem TauCeti.familyIsometry_single {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {d : โ„•} {v : Fin d โ†’ E} (hv : Orthonormal ๐•œ v) (k : Fin d) :

                It sends the k-th standard basis vector to v k.