Documentation

LeanPool.DavisKahan.ForTauCeti.Analysis.InnerProductSpace.PositiveSqrt

The positive square root of a positive symmetric operator (Sub-dev I) #

For a positive symmetric operator T on a finite-dimensional inner product space over ๐•œ : RCLike, we build the unique positive symmetric operator sqrt T with sqrt T โˆ˜โ‚— sqrt T = T, via the spectral theorem (sqrt T := โˆ‘แตข โˆšฮปแตข โ€ข rankOne eแตข eแตข).

Source: Horn & Johnson, Matrix Analysis, 2nd ed. (2013), Theorem 7.2.6 (unique positive semidefinite square root) and Theorem 7.2.7(b) (ker (Aโ‹†A) = ker A).

This is the ๐•œ-generic (โ„ and โ„‚) LinearMap counterpart of mathlib's โ„‚-only CFC.sqrt/CFC.abs on E โ†’L[โ„‚] E; the RCLike operator route needs it because the Cโ‹†-algebra/CFC instances on E โ†’L[๐•œ] E are registered only for ๐•œ = โ„‚.

Provenance #

LinearMap.IsPositive.sqrt itself is defined in ForTauCeti/Analysis/InnerProductSpace/SelfAdjointFunctionalCalculus.lean, as the functional calculus of Real.sqrt. It was once defined twice -- there and here, with the two shown equal by rfl -- and the duplicate has since been collapsed into the calculus. This module keeps what is special to the square root โ€” that it is positive, that it squares to T, and the uniqueness theory the general calculus has no analogue for.

theorem LinearMap.IsPositive.sqrt_isPositive {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] {T : E โ†’โ‚—[๐•œ] E} (hT : T.IsPositive) :

The square root is positive. HJ 7.2.6 (it is the PSD square root).

theorem LinearMap.IsPositive.sqrt_isSymmetric {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] {T : E โ†’โ‚—[๐•œ] E} (hT : T.IsPositive) :

The square root is symmetric.

theorem LinearMap.IsPositive.sqrt_apply_eigenvectorBasis {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] {T : E โ†’โ‚—[๐•œ] E} (hT : T.IsPositive) (k : Fin (Module.finrank ๐•œ E)) :
hT.sqrt ((โ‹ฏ.eigenvectorBasis โ‹ฏ) k) = โ†‘โˆš(โ‹ฏ.eigenvalues โ‹ฏ k) โ€ข (โ‹ฏ.eigenvectorBasis โ‹ฏ) k

sqrt T acts on the k-th eigenvector as multiplication by โˆšฮปโ‚– (it is diagonal in the same eigenbasis as T).

theorem LinearMap.IsPositive.sqrt_mul_self {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] {T : E โ†’โ‚—[๐•œ] E} (hT : T.IsPositive) :

Defining property: sqrt T squares to T. HJ 7.2.6 (Bยฒ = A).

theorem LinearMap.IsPositive.apply_eq_smul_of_apply_apply_eq_smul {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {S : E โ†’โ‚—[๐•œ] E} (hS : S.IsPositive) {v : E} {ฮผ : โ„} (hฮผ : 0 โ‰ค ฮผ) (hv : S (S v) = (โ†‘ฮผ * โ†‘ฮผ) โ€ข v) :
S v = โ†‘ฮผ โ€ข v

Pointwise root: if S โ‰ฅ 0 and Sยฒ v = ฮผยฒ v with ฮผ โ‰ฅ 0, then S v = ฮผ v. The crux of uniqueness โ€” v lies in the ฮผยฒ-eigenspace of Sยฒ, on which the positive S acts as ฮผ.

theorem LinearMap.IsPositive.sqrt_unique {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] {T S : E โ†’โ‚—[๐•œ] E} (hT : T.IsPositive) (hS : S.IsPositive) (h : S โˆ˜โ‚— S = T) :
S = hT.sqrt

Uniqueness: any positive S with Sยฒ = T is sqrt T. HJ 7.2.6(a).

@[simp]
theorem LinearMap.IsPositive.sq_norm_sqrt_apply {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] {T : E โ†’โ‚—[๐•œ] E} (hT : T.IsPositive) (x : E) :
โ€–hT.sqrt xโ€– ^ 2 = RCLike.re (inner ๐•œ (T x) x)

The isometry-defect identity โ€–sqrt T xโ€–ยฒ = re โŸชT x, xโŸซ. This is the seed of the polar decomposition norm identity โ€–A xโ€– = โ€–|A| xโ€–.

theorem LinearMap.IsPositive.ker_sqrt {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] {T : E โ†’โ‚—[๐•œ] E} (hT : T.IsPositive) :
hT.sqrt.ker = T.ker

ker (sqrt T) = ker T. HJ 7.2.7(b) applied through sqrt T โˆ˜โ‚— sqrt T = T.

theorem LinearMap.IsPositive.range_sqrt {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] {T : E โ†’โ‚—[๐•œ] E} (hT : T.IsPositive) :

range (sqrt T) = range T. HJ 7.2.6(c).

theorem LinearMap.IsPositive.isUnit_sqrt_of_isUnit {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] {T : E โ†’โ‚—[๐•œ] E} (hT : T.IsPositive) (hunit : IsUnit T) :

On the invertible (strictly positive) case, sqrt T is invertible; this provides the inverse square root used by the intertwining unitary.