Documentation

LeanPool.DavisKahan.ForTauCeti.Analysis.InnerProductSpace.DiagonalOperator

Real diagonal operators and the operator singular-value decomposition #

This module contains no norm structure. It supplies the diagonal operators used by both rectangular orbit majorization and square symmetric-gauge representation.

The diagonal operator of a real vector in an orthonormal basis #

noncomputable def TauCeti.diagOp {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {n : โ„•} (b : OrthonormalBasis (Fin n) ๐•œ E) (x : Fin n โ†’ โ„) :
E โ†’โ‚—[๐•œ] E

The operator with (real) diagonal x in the orthonormal basis b: diagOp b x (b i) = x i โ€ข b i.

Equations
Instances For
    @[simp]
    theorem TauCeti.diagOp_apply {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {n : โ„•} (b : OrthonormalBasis (Fin n) ๐•œ E) (x : Fin n โ†’ โ„) (v : E) :
    (diagOp b x) v = โˆ‘ i : Fin n, โ†‘(x i) โ€ข inner ๐•œ (b i) v โ€ข b i

    The defining formula: diagOp b x expands v in the basis and scales the i-th coefficient by x i.

    theorem TauCeti.diagOp_apply_basis {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {n : โ„•} (b : OrthonormalBasis (Fin n) ๐•œ E) (x : Fin n โ†’ โ„) (j : Fin n) :
    (diagOp b x) (b j) = โ†‘(x j) โ€ข b j

    A diagonal operator scales each basis vector by its own entry. This is the form used to compare two diagonal operators, since equality on a basis suffices.

    theorem TauCeti.diagOp_add {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {n : โ„•} (b : OrthonormalBasis (Fin n) ๐•œ E) (x y : Fin n โ†’ โ„) :
    diagOp b (x + y) = diagOp b x + diagOp b y

    diagOp b is additive in the diagonal.

    theorem TauCeti.diagOp_real_smul {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {n : โ„•} (b : OrthonormalBasis (Fin n) ๐•œ E) (c : โ„) (x : Fin n โ†’ โ„) :
    diagOp b (c โ€ข x) = โ†‘c โ€ข diagOp b x

    diagOp b is homogeneous in the diagonal, with the real scalar cast into ๐•œ.

    theorem TauCeti.diagOp_const {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {n : โ„•} (b : OrthonormalBasis (Fin n) ๐•œ E) (r : โ„) :
    (diagOp b fun (x : Fin n) => r) = โ†‘r โ€ข LinearMap.id

    A constant real diagonal is a scalar multiple of the identity. This is the bridge between the functional-calculus form r โ€ข id and the diagonal form the singular-value lemmas are stated in.

    theorem TauCeti.diagOp_const_pair {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (b : OrthonormalBasis (Fin 2) ๐•œ E) (r : โ„) :

    The two-entry constant diagonal, in the ![r, r] shape the planar singular-value lemmas use.

    theorem TauCeti.isSymmetric_diagOp {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {n : โ„•} (b : OrthonormalBasis (Fin n) ๐•œ E) (x : Fin n โ†’ โ„) :

    A real diagonal operator is symmetric.

    theorem TauCeti.adjoint_diagOp {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] {n : โ„•} (b : OrthonormalBasis (Fin n) ๐•œ E) (x : Fin n โ†’ โ„) :

    A real diagonal operator is self-adjoint. This is why a unitarily invariant norm applied to diagOp yields a symmetric gauge on vectors.

    theorem TauCeti.diagOp_comp {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {n : โ„•} (b : OrthonormalBasis (Fin n) ๐•œ E) (x y : Fin n โ†’ โ„) :

    Diagonal operators in the same basis multiply diagonally.

    theorem TauCeti.singularValues_diagOp {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] {n : โ„•} (hn : Module.finrank ๐•œ E = n) (b : OrthonormalBasis (Fin n) ๐•œ E) {x : Fin n โ†’ โ„} (hx_anti : Antitone x) (hx0 : โˆ€ (i : Fin n), 0 โ‰ค x i) (i : Fin n) :
    (diagOp b x).singularValues โ†‘i = x i

    The singular values of a diagonal operator with antitone nonnegative diagonal are the diagonal itself.

    The operator SVD factorization #

    theorem TauCeti.exists_unitary_diagOp_factorization {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] {n : โ„•} (hn : Module.finrank ๐•œ E = n) (b : OrthonormalBasis (Fin n) ๐•œ E) (A : E โ†’โ‚—[๐•œ] E) :
    โˆƒ (U : E โ‰ƒโ‚—แตข[๐•œ] E) (V : E โ‰ƒโ‚—แตข[๐•œ] E), A = โ†‘U.toLinearEquiv โˆ˜โ‚— (diagOp b fun (i : Fin n) => A.singularValues โ†‘i) โˆ˜โ‚— โ†‘V.toLinearEquiv

    Operator SVD: relative to any fixed orthonormal basis b, every square operator factors as A = U โˆ˜ diag(ฯƒ(A)) โˆ˜ V with U, V unitary.