Documentation

LeanPool.Monlib4.LinearAlgebra.Matrix.PosDefRpow

Real powers of positive definite matrices #

This file restores the upstream monlib4 API for real powers of positive semidefinite and positive definite matrices. The definitions are stated in terms of the current Mathlib Hermitian spectral theorem.

theorem Matrix.IsHermitian.eigenvectorMatrix_conjTranspose_mul {n : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] [Fintype n] [DecidableEq n] {A : Matrix n n ๐•œ} (hA : A.IsHermitian) :
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 ๐•œ

Real powers of a Hermitian matrix, defined by spectral calculus.

Equations
Instances For
    @[reducible, inline]
    noncomputable abbrev Matrix.PosSemidef.rpow {n : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] [Fintype n] [DecidableEq n] {Q : Matrix n n ๐•œ} (hQ : Q.PosSemidef) (r : โ„) :
    Matrix n n ๐•œ

    Real powers of a positive semidefinite matrix.

    Equations
    Instances For
      @[reducible, inline]
      noncomputable abbrev Matrix.PosDef.rpow {n : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] [Fintype n] [DecidableEq n] {Q : Matrix n n ๐•œ} (hQ : Q.PosDef) (r : โ„) :
      Matrix n n ๐•œ

      Real powers of a positive definite matrix.

      Equations
      Instances For
        theorem Matrix.PosDef.rpow_eq {n : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] [Fintype n] [DecidableEq n] {Q : Matrix n n ๐•œ} (hQ : Q.PosDef) (r : โ„) :
        theorem Matrix.PosSemidef.rpow_mul_rpow {n : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] [Fintype n] [DecidableEq n] (rโ‚ rโ‚‚ : NNRealหฃ) {Q : Matrix n n ๐•œ} (hQ : Q.PosSemidef) :
        hQ.rpow โ†‘โ†‘rโ‚ * hQ.rpow โ†‘โ†‘rโ‚‚ = hQ.rpow (โ†‘โ†‘rโ‚ + โ†‘โ†‘rโ‚‚)
        theorem Matrix.PosDef.rpow_mul_rpow {n : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] [Fintype n] [DecidableEq n] (rโ‚ rโ‚‚ : โ„) {Q : Matrix n n ๐•œ} (hQ : Q.PosDef) :
        hQ.rpow rโ‚ * hQ.rpow rโ‚‚ = hQ.rpow (rโ‚ + 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
        @[reducible]
        noncomputable instance Matrix.PosDef.eigenvaluesInvertible {n : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] [Fintype n] [DecidableEq n] {Q : Matrix n n ๐•œ} (hQ : Q.PosDef) :
        Equations
        @[reducible]
        noncomputable instance Matrix.PosDef.eigenvaluesInvertible' {n : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] [Fintype n] [DecidableEq n] {Q : Matrix n n ๐•œ} (hQ : Q.PosDef) :
        Equations
        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 : โ„) :
        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 : โ„) :
        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) :
        CFC.sqrt Q = 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) :
        CFC.sqrt Q = 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.rpow_cast {n : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] [Fintype n] [DecidableEq n] {Q : Matrix n n ๐•œ} (hQ : Q.IsHermitian) (r : โ„) {S : Matrix n n ๐•œ} (hQS : Q = S) :
        hQ.rpow r = โ‹ฏ.rpow r
        theorem Matrix.PosDef.rpow_cast {n : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] [Fintype n] [DecidableEq n] {Q : Matrix n n ๐•œ} (hQ : Q.PosDef) (r : โ„) {S : Matrix n n ๐•œ} (hQS : Q = S) :
        hQ.rpow r = โ‹ฏ.rpow r
        theorem Matrix.PosSemidef.rpow_cast {n : Type u_1} {๐•œ : Type u_2} [RCLike ๐•œ] [Fintype n] [DecidableEq n] {Q : Matrix n n ๐•œ} (hQ : Q.PosSemidef) (r : โ„) {S : Matrix n n ๐•œ} (hQS : Q = S) :
        hQ.rpow r = โ‹ฏ.rpow r
        theorem Matrix.posDefOne_rpow {๐•œ : Type u_2} [RCLike ๐•œ] (n : Type u_1) [Fintype n] [DecidableEq n] (r : โ„) :
        โ‹ฏ.rpow r = 1