@@ -49,9 +49,9 @@ open MatrixOrder
4949
5050lemma le_iff {A B : Matrix n n 𝕜} : A ≤ B ↔ (B - A).PosSemidef := Iff.rfl
5151
52- lemma nonneg_iff {A : Matrix n n 𝕜} : 0 ≤ A ↔ A.PosSemidef := by rw [le_iff, sub_zero]
52+ lemma nonneg_iff_posSemidef {A : Matrix n n 𝕜} : 0 ≤ A ↔ A.PosSemidef := by rw [le_iff, sub_zero]
5353
54- protected alias ⟨LE.le.posSemidef, PosSemidef.nonneg⟩ := nonneg_iff
54+ protected alias ⟨LE.le.posSemidef, PosSemidef.nonneg⟩ := nonneg_iff_posSemidef
5555
5656attribute [aesop 20 % apply (rule_sets := [CStarAlgebra])] PosSemidef.nonneg
5757
@@ -77,7 +77,7 @@ lemma instNonnegSpectrumClass : NonnegSpectrumClass ℝ (Matrix n n 𝕜) where
7777 intro x hx
7878 obtain ⟨i, rfl⟩ := Set.ext_iff.mp
7979 hA.posSemidef.1 .spectrum_real_eq_range_eigenvalues x |>.mp hx
80- exact (nonneg_iff.mp hA) .eigenvalues_nonneg _
80+ exact hA.posSemidef .eigenvalues_nonneg _
8181
8282scoped [MatrixOrder] attribute [instance] instNonnegSpectrumClass
8383
@@ -175,7 +175,7 @@ end PosSemidef
175175lemma posSemidef_iff_eq_conjTranspose_mul_self {A : Matrix n n 𝕜} :
176176 PosSemidef A ↔ ∃ (B : Matrix n n 𝕜), A = Bᴴ * B := by
177177 classical
178- exact nonneg_iff (A := A) |>.eq ▸ CStarAlgebra.nonneg_iff_eq_star_mul_self
178+ exact nonneg_iff_posSemidef (A := A) |>.eq ▸ CStarAlgebra.nonneg_iff_eq_star_mul_self
179179
180180@ [deprecated (since := "2025-05-07" )]
181181alias posSemidef_iff_eq_transpose_mul_self := CStarAlgebra.nonneg_iff_eq_star_mul_self
@@ -195,7 +195,7 @@ theorem posSemidef_iff_isHermitian_and_spectrum_nonneg [DecidableEq n] {A : Matr
195195theorem PosSemidef.commute_iff {A B : Matrix n n 𝕜} (hA : A.PosSemidef) (hB : B.PosSemidef) :
196196 Commute A B ↔ (A * B).PosSemidef := by
197197 classical
198- exact nonneg_iff (A := A * B).eq ▸ commute_iff_mul_nonneg hA.nonneg hB.nonneg
198+ exact nonneg_iff_posSemidef (A := A * B).eq ▸ commute_iff_mul_nonneg hA.nonneg hB.nonneg
199199
200200/-- A positive semi-definite matrix is positive definite if and only if it is invertible. -/
201201@ [grind =]
@@ -212,7 +212,7 @@ theorem PosSemidef.posDef_iff_isUnit [DecidableEq n] {x : Matrix n n 𝕜}
212212theorem PosDef.commute_iff {A B : Matrix n n 𝕜} (hA : A.PosDef) (hB : B.PosDef) :
213213 Commute A B ↔ (A * B).PosDef := by
214214 classical
215- rw [commute_iff_mul_nonneg hA.posSemidef.nonneg hB.posSemidef.nonneg, nonneg_iff ]
215+ rw [commute_iff_mul_nonneg hA.posSemidef.nonneg hB.posSemidef.nonneg, nonneg_iff_posSemidef ]
216216 exact ⟨fun h => h.posDef_iff_isUnit.mpr <| hA.isUnit.mul hB.isUnit, fun h => h.posSemidef⟩
217217
218218lemma PosDef.posDef_sqrt [DecidableEq n] {M : Matrix n n 𝕜} (hM : M.PosDef) :
0 commit comments