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)
:
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)
:
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)
:
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)
:
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 โ)
: