Documentation

CvxLean.Lib.Math.LinearAlgebra.Matrix.PosDef

More results about positive definite and positive semidefinite matrices (see Mathlib.LinearAlgebra.Matrix.PosDef).

theorem Matrix.PosSemidef.det_nonneg {n : Type u_1} [Fintype n] {M : Matrix n n โ„} (hM : M.PosSemidef) [DecidableEq n] :
0 โ‰ค M.det
theorem Matrix.PosDef.det_ne_zero {n : Type u_1} [Fintype n] {๐•œ : Type u_2} [NormedField ๐•œ] [PartialOrder ๐•œ] [StarRing ๐•œ] [StarOrderedRing ๐•œ] [RCLike ๐•œ] [DecidableEq n] {M : Matrix n n ๐•œ} (hM : M.PosDef) :
M.det โ‰  0
theorem Matrix.PosDef.isUnit_det {n : Type u_1} [Fintype n] [DecidableEq n] {M : Matrix n n โ„} (hM : M.PosDef) :
IsUnit M.det
noncomputable instance Matrix.PosDef.Invertible {n : Type u_1} [Fintype n] {๐•œ : Type u_2} [NormedField ๐•œ] [PartialOrder ๐•œ] [StarRing ๐•œ] [StarOrderedRing ๐•œ] [RCLike ๐•œ] [DecidableEq n] {M : Matrix n n ๐•œ} (hM : M.PosDef) :
Equations
  • hM.Invertible = M.invertibleOfIsUnitDet โ‹ฏ
theorem Matrix.PosSemidef_diagonal {n : Type u_1} [Fintype n] [DecidableEq n] {f : n โ†’ โ„} (hf : โˆ€ (i : n), 0 โ‰ค f i) :
(Matrix.diagonal f).PosSemidef
theorem Matrix.PosDef_diagonal {n : Type u_1} [Fintype n] [DecidableEq n] {f : n โ†’ โ„} (hf : โˆ€ (i : n), 0 < f i) :
(Matrix.diagonal f).PosDef
theorem Matrix.PosSemidef.conjTranspose_mul_mul {n : Type u_1} [Fintype n] {๐•œ : Type u_2} [NormedField ๐•œ] [PartialOrder ๐•œ] [StarRing ๐•œ] [StarOrderedRing ๐•œ] (M : Matrix n n ๐•œ) (N : Matrix n n ๐•œ) (hM : M.PosSemidef) :
(N.conjTranspose * M * N).PosSemidef
theorem Matrix.PosDef.conjTranspose_mul_mul {n : Type u_1} [Fintype n] {๐•œ : Type u_2} [NormedField ๐•œ] [PartialOrder ๐•œ] [StarRing ๐•œ] [StarOrderedRing ๐•œ] [DecidableEq n] (M : Matrix n n ๐•œ) (N : Matrix n n ๐•œ) (hM : M.PosDef) (hN : N.det โ‰  0) :
(N.conjTranspose * M * N).PosDef
theorem Matrix.IsHermitian.nonsingular_inv {n : Type u_1} [Fintype n] {๐•œ : Type u_2} [NormedField ๐•œ] [StarRing ๐•œ] [DecidableEq n] {M : Matrix n n ๐•œ} (hM : M.IsHermitian) (hMdet : IsUnit M.det) :
Mโปยน.IsHermitian
theorem Matrix.conj_symm {n : Type u_1} [Fintype n] {๐•œ : Type u_2} [NormedField ๐•œ] [PartialOrder ๐•œ] [StarRing ๐•œ] [StarOrderedRing ๐•œ] {x : n โ†’ ๐•œ} {M : Matrix n n ๐•œ} (hM : M.IsHermitian) :
star (Matrix.dotProduct (star x) (M.mulVec x)) = Matrix.dotProduct (star x) (M.mulVec x)
theorem Matrix.PosDef.nonsingular_inv {n : Type u_1} [Fintype n] {๐•œ : Type u_2} [NormedField ๐•œ] [PartialOrder ๐•œ] [StarRing ๐•œ] [StarOrderedRing ๐•œ] [RCLike ๐•œ] [DecidableEq n] {M : Matrix n n ๐•œ} (hM : M.PosDef) :
theorem Matrix.PosSemidef.mul_mul_of_IsHermitian {n : Type u_1} [Fintype n] {๐•œ : Type u_2} [NormedField ๐•œ] [PartialOrder ๐•œ] [StarRing ๐•œ] [StarOrderedRing ๐•œ] {M : Matrix n n ๐•œ} {N : Matrix n n ๐•œ} (hM : M.PosSemidef) (hN : N.IsHermitian) :
(N * M * N).PosSemidef
theorem Matrix.PosSemidef.add {n : Type u_1} [Fintype n] {๐•œ : Type u_2} [NormedField ๐•œ] [PartialOrder ๐•œ] [StarRing ๐•œ] [StarOrderedRing ๐•œ] {M : Matrix n n ๐•œ} {N : Matrix n n ๐•œ} (hM : M.PosSemidef) (hN : N.PosSemidef) :
(M + N).PosSemidef
theorem Matrix.isUnit_det_of_PosDef_inv {n : Type u_1} [Fintype n] [DecidableEq n] {M : Matrix n n โ„} (h : Mโปยน.PosDef) :
IsUnit M.det
theorem Matrix.PosDef_inv_iff_PosDef {n : Type u_1} [Fintype n] [DecidableEq n] (M : Matrix n n โ„) :
Mโปยน.PosDef โ†” M.PosDef
theorem Matrix.PosSemiDef.IsSymm {n : โ„•} {A : Matrix (Fin n) (Fin n) โ„} (hA : A.PosSemidef) :
A.IsSymm