Skip to content

Commit ef91075

Browse files
committed
feat(Geometry/Euclidean/Projection): orthogonalProjectionSpan_congr (#31055)
Add a congruence lemma for `orthogonalProjectionSpan` applied to two simplices with the same set of vertices, analogous to and proved using `orthogonalProjection_congr`, and a variant `orthogonalProjectionSpan_reindex`.
1 parent 97e3e0d commit ef91075

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

Mathlib/Geometry/Euclidean/Projection.lean

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -608,6 +608,16 @@ def orthogonalProjectionSpan {n : ℕ} (s : Simplex ℝ P n) :
608608
P →ᴬ[ℝ] affineSpan ℝ (Set.range s.points) :=
609609
orthogonalProjection (affineSpan ℝ (Set.range s.points))
610610

611+
lemma orthogonalProjectionSpan_congr {m n : ℕ} {s₁ : Simplex ℝ P m} {s₂ : Simplex ℝ P n}
612+
{p₁ p₂ : P} (h : Set.range s₁.points = Set.range s₂.points) (hp : p₁ = p₂) :
613+
(s₁.orthogonalProjectionSpan p₁ : P) = s₂.orthogonalProjectionSpan p₂ :=
614+
orthogonalProjection_congr (by rw [h]) hp
615+
616+
@[simp] lemma orthogonalProjectionSpan_reindex {m n : ℕ} (s : Simplex ℝ P m)
617+
(e : Fin (m + 1) ≃ Fin (n + 1)) (p : P) :
618+
((s.reindex e).orthogonalProjectionSpan p : P) = s.orthogonalProjectionSpan p :=
619+
orthogonalProjectionSpan_congr (s.reindex_range_points e) rfl
620+
611621
/-- Adding a vector to a point in the given subspace, then taking the
612622
orthogonal projection, produces the original point if the vector is a
613623
multiple of the result of subtracting a point's orthogonal projection

0 commit comments

Comments
 (0)