File tree Expand file tree Collapse file tree
Mathlib/LinearAlgebra/Matrix Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -328,6 +328,16 @@ theorem posSemidef_self_mul_conjTranspose [StarOrderedRing R] (A : Matrix m n R)
328328 PosSemidef (A * Aᴴ) := by
329329 simpa only [conjTranspose_conjTranspose] using posSemidef_conjTranspose_mul_self Aᴴ
330330
331+ theorem _root_.isSelfAdjoint_sum {ι R : Type *} [AddCommMonoid R] [StarAddMonoid R] (s : Finset ι)
332+ {x : ι → R} (h : ∀ i ∈ s, IsSelfAdjoint (x i)) : IsSelfAdjoint (∑ i ∈ s, x i) := by
333+ simpa [IsSelfAdjoint, star_sum] using Finset.sum_congr rfl fun _ hi => h _ hi
334+
335+ theorem posSemidef_sum [AddLeftMono R]
336+ {x : ι → Matrix n n R} (s : Finset ι) (h : ∀ i ∈ s, PosSemidef (x i)) :
337+ PosSemidef (∑ i ∈ s, x i) := by
338+ refine ⟨isSelfAdjoint_sum s fun _ hi => h _ hi |>.1 , fun y => ?_⟩
339+ simp [sum_mulVec, dotProduct_sum, Finset.sum_nonneg' (fun _ hi => (h _ hi).2 _)]
340+
331341section trace
332342-- TODO: move these results to an earlier file
333343
You can’t perform that action at this time.
0 commit comments