The real-power of a positive definite matrix #
This file defines the real-power of a positive definite matrix. In particular, given a positive definite matrix x
and real number r
, we get posDef.rpow
as the matrix eigenvector_matrix * (coe β diagonal (eigenvalues ^ r)) * eigenvector_matrixβ»ΒΉ
.
It also proves some basic obvious properties of posDef.rpow
such as posDef.rpow_mul_rpow
and posDef.rpow_zero
.
noncomputable def
Matrix.IsHermitian.rpow
{n : Type u_1}
{π : Type u_2}
[RCLike π]
[Fintype n]
[DecidableEq n]
{Q : Matrix n n π}
(hQ : Q.IsHermitian)
(r : β)
:
Matrix n n π
Equations
- hQ.rpow r = (Matrix.innerAut hQ.eigenvectorUnitary) (Matrix.diagonal (RCLike.ofReal β (hQ.eigenvalues ^ r)))
Instances For
theorem
Matrix.PosDef.rpow_eq
{π : Type u_1}
[RCLike π]
{n : Type u_2}
[Fintype n]
[DecidableEq n]
{Q : Matrix n n π}
(hQ : Q.PosDef)
(r : β)
:
hQ.rpow r = (Matrix.innerAut β―.eigenvectorUnitary) (Matrix.diagonal (RCLike.ofReal β (β―.eigenvalues ^ r)))
theorem
Matrix.IsHermitian.rpow_one_eq_self
{n : Type u_1}
{π : Type u_2}
[RCLike π]
[Fintype n]
[DecidableEq n]
{Q : Matrix n n π}
(hQ : Q.IsHermitian)
:
hQ.rpow 1 = Q
theorem
Matrix.PosSemidef.rpow_one_eq_self
{n : Type u_1}
{π : Type u_2}
[RCLike π]
[Fintype n]
[DecidableEq n]
{Q : Matrix n n π}
(hQ : Q.PosSemidef)
:
hQ.rpow 1 = Q
theorem
Matrix.PosDef.rpow_one_eq_self
{n : Type u_1}
{π : Type u_2}
[RCLike π]
[Fintype n]
[DecidableEq n]
{Q : Matrix n n π}
(hQ : Q.PosDef)
:
hQ.rpow 1 = Q
noncomputable instance
Matrix.PosDef.eigenvaluesInvertible
{n : Type u_1}
{π : Type u_2}
[RCLike π]
[Fintype n]
[DecidableEq n]
{Q : Matrix n n π}
(hQ : Q.PosDef)
:
Invertible β―.eigenvalues
noncomputable instance
Matrix.PosDef.eigenvaluesInvertible'
{n : Type u_1}
{π : Type u_2}
[RCLike π]
[Fintype n]
[DecidableEq n]
{Q : Matrix n n π}
(hQ : Q.PosDef)
:
Invertible (RCLike.ofReal β β―.eigenvalues)
theorem
Matrix.PosDef.rpow_neg_one_eq_inv_self
{n : Type u_1}
{π : Type u_2}
[RCLike π]
[Fintype n]
[DecidableEq n]
{Q : Matrix n n π}
(hQ : Q.PosDef)
:
theorem
Matrix.IsHermitian.rpow_zero
{n : Type u_1}
{π : Type u_2}
[RCLike π]
[Fintype n]
[DecidableEq n]
{Q : Matrix n n π}
(hQ : Q.IsHermitian)
:
hQ.rpow 0 = 1
theorem
Matrix.PosSemidef.rpow_zero
{n : Type u_1}
{π : Type u_2}
[RCLike π]
[Fintype n]
[DecidableEq n]
{Q : Matrix n n π}
(hQ : Q.PosSemidef)
:
hQ.rpow 0 = 1
theorem
Matrix.PosDef.rpow_zero
{n : Type u_1}
{π : Type u_2}
[RCLike π]
[Fintype n]
[DecidableEq n]
{Q : Matrix n n π}
(hQ : Q.PosDef)
:
hQ.rpow 0 = 1
theorem
Matrix.IsHermitian.rpow.isHermitian
{n : Type u_1}
{π : Type u_2}
[RCLike π]
[Fintype n]
[DecidableEq n]
{Q : Matrix n n π}
(hQ : Q.IsHermitian)
(r : β)
:
(hQ.rpow r).IsHermitian
theorem
Matrix.PosSemidef.rpow.isPosSemidef
{n : Type u_1}
{π : Type u_2}
[RCLike π]
[Fintype n]
[DecidableEq n]
{Q : Matrix n n π}
(hQ : Q.PosSemidef)
(r : β)
:
(hQ.rpow r).PosSemidef
theorem
Matrix.PosDef.rpow.isPosDef
{n : Type u_1}
{π : Type u_2}
[RCLike π]
[Fintype n]
[DecidableEq n]
{Q : Matrix n n π}
(hQ : Q.PosDef)
(r : β)
:
(hQ.rpow r).PosDef
theorem
Matrix.PosSemidef.sqrt_eq_rpow
{n : Type u_1}
{π : Type u_2}
[RCLike π]
[Fintype n]
[DecidableEq n]
{Q : Matrix n n π}
(hQ : Q.PosSemidef)
:
hQ.sqrt = hQ.rpow (1 / 2)
theorem
Matrix.PosDef.sqrt_eq_rpow
{n : Type u_1}
{π : Type u_2}
[RCLike π]
[Fintype n]
[DecidableEq n]
{Q : Matrix n n π}
(hQ : Q.PosDef)
:
(β― : Q.PosSemidef).sqrt = hQ.rpow (1 / 2)
theorem
Matrix.PosDef.rpow_ne_zero
{n : Type u_1}
[Fintype n]
[DecidableEq n]
[Nonempty n]
{Q : Matrix n n β}
(hQ : Q.PosDef)
{r : β}
:
hQ.rpow r β 0
theorem
Matrix.IsHermitian.eigenvectorMatrix_conjTranspose_mul
{n : Type u_2}
[Fintype n]
[DecidableEq n]
{π : Type u_1}
[RCLike π]
{x : Matrix n n π}
(hx : x.IsHermitian)
:
theorem
Matrix.posDefOne_rpow
{π : Type u_1}
[RCLike π]
(n : Type u_2)
[Fintype n]
[DecidableEq n]
(r : β)
:
β―.rpow r = 1