Physlib Documentation

QuantumInfo.ForMathlib.MatrixNorm.TraceNorm

noncomputable def Matrix.traceNorm {m : Type u_1} {n : Type u_2} {R : Type u_3} [Fintype m] [Fintype n] [RCLike R] (A : Matrix m n R) :

The trace norm of a matrix: Tr[√(A† A)].

Equations
Instances For
    @[simp]
    theorem Matrix.traceNorm_zero {m : Type u_1} {n : Type u_2} {R : Type u_3} [Fintype m] [Fintype n] [RCLike R] :
    @[simp]
    theorem Matrix.traceNorm_neg {m : Type u_1} {n : Type u_2} {R : Type u_3} [Fintype m] [Fintype n] [RCLike R] (A : Matrix m n R) :

    The trace norm of the negative is equal to the trace norm.

    theorem Matrix.traceNorm_isometry_left {m : Type u_1} {n : Type u_2} {R : Type u_3} [Fintype m] [Fintype n] [RCLike R] {k : Type u_4} [Fintype k] {A : Matrix n m R} {u : Matrix k n R} (hu₁ : u.Isometry) :

    The trace norm is invariant under left multiplication by an isometry.

    theorem Matrix.traceNorm_isometry_right {m : Type u_1} {n : Type u_2} {R : Type u_3} [Fintype m] [Fintype n] [RCLike R] {k : Type u_4} [Fintype k] {A : Matrix n m R} {u : Matrix k m R} (hu₁ : u.Isometry) :

    The trace norm is invariant under right multiplication by the adjoint of an isometry.

    @[simp]
    theorem Matrix.traceNorm_unitary_conj {n : Type u_2} {R : Type u_3} [Fintype n] [RCLike R] {A : Matrix n n R} {U : (unitaryGroup n R)} :
    (U * A * (↑U).conjTranspose).traceNorm = A.traceNorm

    The trace norm is invariant under unitary conjugation.

    theorem Matrix.traceNorm_Hermitian_eq_sum_abs_eigenvalues {n : Type u_2} {R : Type u_3} [Fintype n] [RCLike R] {A : Matrix n n R} (hA : A.IsHermitian) :
    A.traceNorm = i : n, |hA.eigenvalues i|

    For Hermitian matrices, the trace norm is the sum of absolute eigenvalues.

    This is Proposition 9.1.1 in Wilde.

    theorem Matrix.traceNorm_nonneg {m : Type u_1} {n : Type u_2} {R : Type u_3} [Fintype m] [Fintype n] [RCLike R] (A : Matrix m n R) :

    The trace norm is nonnegative. Property 9.1.1 in Wilde.

    theorem Matrix.traceNorm_zero_iff {m : Type u_1} {n : Type u_2} {R : Type u_3} [Fintype m] [Fintype n] [RCLike R] (A : Matrix m n R) :
    A.traceNorm = 0 A = 0

    The trace norm is zero iff the matrix is zero.

    theorem Matrix.traceNorm_smul {m : Type u_1} {n : Type u_2} {R : Type u_3} [Fintype m] [Fintype n] [RCLike R] (A : Matrix m n R) (c : R) :

    The trace norm is homogeneous under scalar multiplication. Property 9.1.2 in Wilde.

    theorem Matrix.exists_svd_sqrt_eigenvalues {n : Type u_2} [Fintype n] [DecidableEq n] (A : Matrix n n ) :
    have hH := ; ∃ (V : 𝐔[n]) (W : 𝐔[n]), A = (V * diagonal fun (i : n) => (hH.eigenvalues i)) * (↑W).conjTranspose

    Singular value decomposition for square complex matrices, with singular values expressed as square roots of the eigenvalues of Aᴴ * A.

    theorem Matrix.traceNorm_eq_sum_singularValues {n : Type u_2} [Fintype n] [DecidableEq n] (A : Matrix n n ) :
    A.traceNorm = i : n, singularValues A i

    The trace norm of a square complex matrix is the sum of its singular values.

    The trace norm of a square complex matrix is the sum of its sorted singular values.

    theorem Matrix.singularValues_le_opNorm {n : Type u_2} [Fintype n] [DecidableEq n] (A : Matrix n n ) (i : n) :

    Every singular value is bounded by the operator norm.

    The trace norm is bounded by the operator norm on the left times the trace norm on the right.

    The trace norm is invariant under conjugate transpose.

    The trace norm is bounded by trace norm on the left times operator norm on the right.

    theorem Matrix.traceNorm_sandwich_le {n : Type u_2} [Fintype n] [DecidableEq n] {S M T : Matrix n n } (hS : S 1) (hT : T 1) :

    Multiplication on both sides by contractions does not increase trace norm.

    The absolute value of the trace is bounded by the trace norm.

    theorem Matrix.traceNorm_eq_max_re_tr_U {n : Type u_2} [Fintype n] (A : Matrix n n ) :
    IsGreatest {x : | ∃ (U : 𝐔[n]), (U * A).trace.re = x} A.traceNorm

    For square complex matrices, the trace norm is the maximum of re (Tr[U * A]) over unitaries U.

    theorem Matrix.traceNorm_add_le {n : Type u_2} [Fintype n] (A B : Matrix n n ) :

    The trace norm satisfies the triangle inequality for square complex matrices.

    theorem Matrix.PosSemidef.traceNorm_eq_trace {m : Type u_1} {R : Type u_3} [Fintype m] [RCLike R] {A : Matrix m m R} (hA : A.PosSemidef) :

    A positive semidefinite matrix has trace norm equal to its trace.

    theorem Matrix.traceNorm_convex {n : Type u_2} [Fintype n] (M N : Matrix n n ) (l : ) (hl : 0 l l 1) :
    (l M + (1 - l) N).traceNorm l * M.traceNorm + (1 - l) * N.traceNorm

    The trace norm is convex. Property 9.1.5 in Wilde.