Skip to content

Commit c68ee59

Browse files
committed
isStrictlyPositive_iff_posDef
1 parent 40c55f4 commit c68ee59

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

Mathlib/Analysis/Matrix/Order.lean

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,15 @@ theorem PosSemidef.posDef_iff_isUnit [DecidableEq n] {x : Matrix n n 𝕜}
209209
rw [← map_eq_zero_iff (f := (yᴴ * y).mulVecLin) (mulVec_injective_iff_isUnit.mpr h),
210210
mulVecLin_apply, ← mulVec_mulVec, hv, mulVec_zero]
211211

212+
theorem isStrictlyPositive_iff_posDef [DecidableEq n] {x : Matrix n n 𝕜} :
213+
IsStrictlyPositive x ↔ x.PosDef :=
214+
fun h => h.nonneg.posSemidef.posDef_iff_isUnit.mpr h.isUnit,
215+
fun h => h.isUnit.isStrictlyPositive h.posSemidef.nonneg⟩
216+
217+
alias ⟨IsStrictlyPositive.posDef, PosDef.isStrictlyPositive⟩ := isStrictlyPositive_iff_posDef
218+
219+
attribute [aesop 20% apply (rule_sets := [CStarAlgebra])] PosDef.isStrictlyPositive
220+
212221
theorem PosDef.commute_iff {A B : Matrix n n 𝕜} (hA : A.PosDef) (hB : B.PosDef) :
213222
Commute A B ↔ (A * B).PosDef := by
214223
classical

0 commit comments

Comments
 (0)