@@ -59,11 +59,12 @@ theorem gramSchmidt_def' (f : ι → E) (n : ι) :
59
59
f n = gramSchmidt 𝕜 f n + ∑ i ∈ Iio n, (𝕜 ∙ gramSchmidt 𝕜 f i).orthogonalProjection (f n) := by
60
60
rw [gramSchmidt_def, sub_add_cancel]
61
61
62
+ -- changing the definition to use `starProjection` makes the proof of this not work
62
63
theorem gramSchmidt_def'' (f : ι → E) (n : ι) :
63
64
f n = gramSchmidt 𝕜 f n + ∑ i ∈ Iio n,
64
65
(⟪gramSchmidt 𝕜 f i, f n⟫ / (‖gramSchmidt 𝕜 f i‖ : 𝕜) ^ 2 ) • gramSchmidt 𝕜 f i := by
65
66
convert gramSchmidt_def' 𝕜 f n
66
- rw [orthogonalProjection_singleton , RCLike.ofReal_pow]
67
+ rw [← starProjection_apply, starProjection_singleton , RCLike.ofReal_pow]
67
68
68
69
@[simp]
69
70
theorem gramSchmidt_zero {ι : Type *} [LinearOrder ι] [LocallyFiniteOrder ι] [OrderBot ι]
@@ -84,8 +85,8 @@ theorem gramSchmidt_orthogonal (f : ι → E) {a b : ι} (h₀ : a ≠ b) :
84
85
revert a
85
86
apply wellFounded_lt.induction b
86
87
intro b ih a h₀
87
- simp only [gramSchmidt_def 𝕜 f b, inner_sub_right, inner_sum, orthogonalProjection_singleton ,
88
- inner_smul_right]
88
+ simp only [gramSchmidt_def 𝕜 f b, inner_sub_right, inner_sum, ← starProjection_apply ,
89
+ starProjection_singleton, inner_smul_right]
89
90
rw [Finset.sum_eq_single_of_mem a (Finset.mem_Iio.mpr h₀)]
90
91
· by_cases h : gramSchmidt 𝕜 f a = 0
91
92
· simp only [h, inner_zero_left, zero_div, zero_mul, sub_zero]
@@ -122,7 +123,7 @@ open Submodule Set Order
122
123
theorem mem_span_gramSchmidt (f : ι → E) {i j : ι} (hij : i ≤ j) :
123
124
f i ∈ span 𝕜 (gramSchmidt 𝕜 f '' Set.Iic j) := by
124
125
rw [gramSchmidt_def' 𝕜 f i]
125
- simp_rw [orthogonalProjection_singleton ]
126
+ simp_rw [← starProjection_apply, starProjection_singleton ]
126
127
exact Submodule.add_mem _ (subset_span <| mem_image_of_mem _ hij)
127
128
(Submodule.sum_mem _ fun k hk => smul_mem (span 𝕜 (gramSchmidt 𝕜 f '' Set.Iic j)) _ <|
128
129
subset_span <| mem_image_of_mem (gramSchmidt 𝕜 f) <| (Finset.mem_Iio.1 hk).le.trans hij)
@@ -131,7 +132,7 @@ theorem gramSchmidt_mem_span (f : ι → E) :
131
132
∀ {j i}, i ≤ j → gramSchmidt 𝕜 f i ∈ span 𝕜 (f '' Set.Iic j) := by
132
133
intro j i hij
133
134
rw [gramSchmidt_def 𝕜 f i]
134
- simp_rw [orthogonalProjection_singleton ]
135
+ simp_rw [← starProjection_apply, starProjection_singleton ]
135
136
refine Submodule.sub_mem _ (subset_span (mem_image_of_mem _ hij))
136
137
(Submodule.sum_mem _ fun k hk => ?_)
137
138
let hkj : k < j := (Finset.mem_Iio.1 hk).trans_le hij
@@ -186,7 +187,7 @@ theorem gramSchmidt_ne_zero_coe {f : ι → E} (n : ι)
186
187
rw [← span_gramSchmidt_Iio 𝕜 f n, gramSchmidt_def' 𝕜 f, h, zero_add]
187
188
apply Submodule.sum_mem _ _
188
189
intro a ha
189
- simp only [orthogonalProjection_singleton ]
190
+ simp only [← starProjection_apply, starProjection_singleton ]
190
191
apply Submodule.smul_mem _ _ _
191
192
rw [Finset.mem_Iio] at ha
192
193
exact subset_span ⟨a, ha, by rfl⟩
0 commit comments