Documentation

Mathlib.Analysis.Normed.Algebra.MatrixExponential

Lemmas about the matrix exponential #

In this file, we provide results about NormedSpace.exp on Matrixs over a topological or normed algebra. Note that generic results over all topological spaces such as NormedSpace.exp_zero can be used on matrices without issue, so are not repeated here. The topological results specific to matrices are:

Lemmas like NormedSpace.exp_add_of_commute require a canonical norm on the type; while there are multiple sensible choices for the norm of a Matrix (Matrix.normedAddCommGroup, Matrix.frobeniusNormedAddCommGroup, Matrix.linftyOpNormedAddCommGroup), none of them are canonical. In an application where a particular norm is chosen using attribute [local instance], then the usual lemmas about NormedSpace.exp are fine. When choosing a norm is undesirable, the results in this file can be used.

In this file, we copy across the lemmas about NormedSpace.exp, but hide the requirement for a norm inside the proof.

Additionally, we prove some results about matrix.has_inv and matrix.div_inv_monoid, as the results for general rings are instead stated about Ring.inverse:

TODO #

References #

theorem Matrix.exp_diagonal {m : Type u_1} {๐”ธ : Type u_4} [Fintype m] [DecidableEq m] [Ring ๐”ธ] [TopologicalSpace ๐”ธ] [IsTopologicalRing ๐”ธ] [T2Space ๐”ธ] [Algebra โ„š ๐”ธ] (v : m โ†’ ๐”ธ) :
theorem Matrix.exp_blockDiagonal {m : Type u_1} {n : Type u_2} {๐”ธ : Type u_4} [Fintype m] [DecidableEq m] [Fintype n] [DecidableEq n] [Ring ๐”ธ] [TopologicalSpace ๐”ธ] [IsTopologicalRing ๐”ธ] [T2Space ๐”ธ] [Algebra โ„š ๐”ธ] (v : m โ†’ Matrix n n ๐”ธ) :
theorem Matrix.exp_blockDiagonal' {m : Type u_1} {n' : m โ†’ Type u_3} {๐”ธ : Type u_4} [Fintype m] [DecidableEq m] [(i : m) โ†’ Fintype (n' i)] [(i : m) โ†’ DecidableEq (n' i)] [Ring ๐”ธ] [TopologicalSpace ๐”ธ] [IsTopologicalRing ๐”ธ] [T2Space ๐”ธ] [Algebra โ„š ๐”ธ] (v : (i : m) โ†’ Matrix (n' i) (n' i) ๐”ธ) :
theorem Matrix.exp_conjTranspose {m : Type u_1} {๐”ธ : Type u_4} [Fintype m] [DecidableEq m] [Ring ๐”ธ] [TopologicalSpace ๐”ธ] [IsTopologicalRing ๐”ธ] [T2Space ๐”ธ] [StarRing ๐”ธ] [ContinuousStar ๐”ธ] (A : Matrix m m ๐”ธ) :
theorem Matrix.IsHermitian.exp {m : Type u_1} {๐”ธ : Type u_4} [Fintype m] [DecidableEq m] [Ring ๐”ธ] [TopologicalSpace ๐”ธ] [IsTopologicalRing ๐”ธ] [T2Space ๐”ธ] [StarRing ๐”ธ] [ContinuousStar ๐”ธ] {A : Matrix m m ๐”ธ} (h : A.IsHermitian) :
theorem Matrix.exp_transpose {m : Type u_1} {๐”ธ : Type u_4} [Fintype m] [DecidableEq m] [CommRing ๐”ธ] [TopologicalSpace ๐”ธ] [IsTopologicalRing ๐”ธ] [Algebra โ„š ๐”ธ] [T2Space ๐”ธ] (A : Matrix m m ๐”ธ) :
theorem Matrix.IsSymm.exp {m : Type u_1} {๐”ธ : Type u_4} [Fintype m] [DecidableEq m] [CommRing ๐”ธ] [TopologicalSpace ๐”ธ] [IsTopologicalRing ๐”ธ] [Algebra โ„š ๐”ธ] [T2Space ๐”ธ] {A : Matrix m m ๐”ธ} (h : A.IsSymm) :
theorem Matrix.exp_add_of_commute {m : Type u_1} {๐”ธ : Type u_4} [Fintype m] [DecidableEq m] [NormedRing ๐”ธ] [NormedAlgebra โ„š ๐”ธ] [CompleteSpace ๐”ธ] (A B : Matrix m m ๐”ธ) (h : Commute A B) :
theorem Matrix.exp_sum_of_commute {m : Type u_1} {๐”ธ : Type u_4} [Fintype m] [DecidableEq m] [NormedRing ๐”ธ] [NormedAlgebra โ„š ๐”ธ] [CompleteSpace ๐”ธ] {ฮน : Type u_5} (s : Finset ฮน) (f : ฮน โ†’ Matrix m m ๐”ธ) (h : (โ†‘s).Pairwise (Function.onFun Commute f)) :
NormedSpace.exp (โˆ‘ i โˆˆ s, f i) = s.noncommProd (fun (i : ฮน) => NormedSpace.exp (f i)) โ‹ฏ
theorem Matrix.exp_nsmul {m : Type u_1} {๐”ธ : Type u_4} [Fintype m] [DecidableEq m] [NormedRing ๐”ธ] [NormedAlgebra โ„š ๐”ธ] [CompleteSpace ๐”ธ] (n : โ„•) (A : Matrix m m ๐”ธ) :
theorem Matrix.isUnit_exp {m : Type u_1} {๐”ธ : Type u_4} [Fintype m] [DecidableEq m] [NormedRing ๐”ธ] [NormedAlgebra โ„š ๐”ธ] [CompleteSpace ๐”ธ] (A : Matrix m m ๐”ธ) :
theorem Matrix.exp_units_conj {m : Type u_1} {๐”ธ : Type u_4} [Fintype m] [DecidableEq m] [NormedRing ๐”ธ] [NormedAlgebra โ„š ๐”ธ] [CompleteSpace ๐”ธ] (U : (Matrix m m ๐”ธ)หฃ) (A : Matrix m m ๐”ธ) :
NormedSpace.exp (โ†‘U * A * โ†‘Uโปยน) = โ†‘U * NormedSpace.exp A * โ†‘Uโปยน
theorem Matrix.exp_units_conj' {m : Type u_1} {๐”ธ : Type u_4} [Fintype m] [DecidableEq m] [NormedRing ๐”ธ] [NormedAlgebra โ„š ๐”ธ] [CompleteSpace ๐”ธ] (U : (Matrix m m ๐”ธ)หฃ) (A : Matrix m m ๐”ธ) :
NormedSpace.exp (โ†‘Uโปยน * A * โ†‘U) = โ†‘Uโปยน * NormedSpace.exp A * โ†‘U
theorem Matrix.exp_neg {m : Type u_1} {๐”ธ : Type u_4} [Fintype m] [DecidableEq m] [NormedCommRing ๐”ธ] [NormedAlgebra โ„š ๐”ธ] [CompleteSpace ๐”ธ] (A : Matrix m m ๐”ธ) :
theorem Matrix.exp_zsmul {m : Type u_1} {๐”ธ : Type u_4} [Fintype m] [DecidableEq m] [NormedCommRing ๐”ธ] [NormedAlgebra โ„š ๐”ธ] [CompleteSpace ๐”ธ] (z : โ„ค) (A : Matrix m m ๐”ธ) :
theorem Matrix.exp_conj {m : Type u_1} {๐”ธ : Type u_4} [Fintype m] [DecidableEq m] [NormedCommRing ๐”ธ] [NormedAlgebra โ„š ๐”ธ] [CompleteSpace ๐”ธ] (U A : Matrix m m ๐”ธ) (hy : IsUnit U) :
theorem Matrix.exp_conj' {m : Type u_1} {๐”ธ : Type u_4} [Fintype m] [DecidableEq m] [NormedCommRing ๐”ธ] [NormedAlgebra โ„š ๐”ธ] [CompleteSpace ๐”ธ] (U A : Matrix m m ๐”ธ) (hy : IsUnit U) :