Skip to content

Commit 8101f69

Browse files
committed
possemidef_sum
1 parent e3e5ee0 commit 8101f69

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

Mathlib/LinearAlgebra/Matrix/PosDef.lean

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff 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+
331341
section trace
332342
-- TODO: move these results to an earlier file
333343

0 commit comments

Comments
 (0)