All proofs
Project-declaredLean 4.28.0 · mathlib@8f9d9cff6bd7

Doubly stochastic holder

doubly_stochastic_holder

Plain-language statement

Doubly stochastic Hölder inequality: for nonneg a, b, doubly stochastic w, and conjugate p, q > 1: ∑{ij} a_i * b_j * w{ij} ≤ (∑ a_i^p)^{1/p} * (∑ b_j^q)^{1/q}.

Exact Lean statement

lemma doubly_stochastic_holder (a b : d → ℝ) (w : d → d → ℝ)
    (ha : ∀ i, 0 ≤ a i) (hb : ∀ j, 0 ≤ b j)
    (hw : ∀ i j, 0 ≤ w i j)
    (hrow : ∀ i, ∑ j, w i j = 1) (hcol : ∀ j, ∑ i, w i j = 1)
    (p q : ℝ) (hp : 1 < p) (hpq : 1/p + 1/q = 1) :
    ∑ i, ∑ j, a i * b j * w i j ≤ (∑ i, a i ^ p) ^ (1/p) * (∑ j, b j ^ q) ^ (1/q)

Formal artifact

Lean source

Canonical source
Full Lean sourceLean 4
lemma doubly_stochastic_holder (a b : d  ) (w : d  d  )    (ha :  i, 0  a i) (hb :  j, 0  b j)    (hw :  i j, 0  w i j)    (hrow :  i, ∑ j, w i j = 1) (hcol :  j, ∑ i, w i j = 1)    (p q : ) (hp : 1 < p) (hpq : 1/p + 1/q = 1) :    ∑ i, ∑ j, a i * b j * w i j  (∑ i, a i ^ p) ^ (1/p) * (∑ j, b j ^ q) ^ (1/q) := by  by_contra h_contra  contrapose! h_contra with h_contra  simp_all [  Finset.mul_sum, mul_assoc ]  have h0q : 0 < q :=    lt_of_le_of_ne ( le_of_not_gt fun hq => by { rw [ inv_eq_one_div, div_eq_mul_inv ] at hpq; nlinarith [ inv_mul_cancel₀ ( by linarith : ( p :  )  0 ), inv_lt_zero.2 hq ] } ) (by grind)  -- Apply Hölder's inequality with the sequences $a_i$ and $g_i = \sum_j w_{ij} b_j$.  have h_holder : (∑ i, a i * (∑ j, w i j * b j))  (∑ i, a i ^ p) ^ (1 / p) * (∑ i, (∑ j, w i j * b j) ^ q) ^ (1 / q) := by    have := @Real.inner_le_Lp_mul_Lq    simp_all    convert this Finset.univ a ( fun i => ∑ j, w i j * b j ) ( show p.HolderConjugate q from ?_ ) using 1    · simp only [ha, abs_of_nonneg, mul_eq_mul_left_iff]      left      congr!      symm      exact abs_of_nonneg (Finset.sum_nonneg fun _ _  mul_nonneg (hw _ _) (hb _))    · constructor <;> linarith  -- By Fubini's theorem, we can interchange the order of summation.  have h_fubini : ∑ i, (∑ j, w i j * b j) ^ q  ∑ j, b j ^ q := by    -- Apply Jensen's inequality to the convex function $x^q$ with weights $w_{ij}$.    have h_jensen :  i, (∑ j, w i j * b j) ^ q  ∑ j, w i j * b j ^ q := by      intro i      have h_jensen : ConvexOn  (Set.Ici 0) (fun x :  => x ^ q) := by        apply convexOn_rpow        nlinarith [ inv_pos.2 ( zero_lt_one.trans hp ), inv_pos.2 h0q, mul_inv_cancel₀ h0q.ne']      convert h_jensen.map_sum_le _ _ _ <;> aesop    refine' le_trans ( Finset.sum_le_sum fun i _ => h_jensen i ) _;    rw [ Finset.sum_comm ]    simp [  Finset.sum_mul, hcol]  simp_all only [mul_comm];  simpa using h_holder.trans ( mul_le_mul_of_nonneg_left ( Real.rpow_le_rpow ( Finset.sum_nonneg fun _ _ => Real.rpow_nonneg ( Finset.sum_nonneg fun _ _ => mul_nonneg ( hb _ ) ( hw _ _ ) ) _ ) h_fubini (one_div_nonneg.mpr h0q.le)) ( Real.rpow_nonneg ( Finset.sum_nonneg fun _ _ => Real.rpow_nonneg ( ha _ ) _ ) _ ) ) |> le_trans <| by simp;
Project
quantumInfo
License
MIT
Commit
56e83a9288a3
Source
QuantumInfo/Finite/Entropy/Relative.lean:59-94

Reuse this declaration

Bring the exact result into your workflow

The import identifies the source module. Your project still needs the pinned package dependency shown on this page.

What this badge means

This completion status comes from the project or community source. It has not yet been represented here as an independent rebuild and axiom audit.

Continue in this project

Related declarations

Project-declaredLean 4.28.0

Conj Transpose isometry mul isometry le one

conjTranspose_isometry_mul_isometry_le_one

Project documentation

The operator norm of the conjugate transpose is equal to the operator norm. -/ theorem Matrix.opNorm_conjTranspose_eq_opNorm {m n : Type*} [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n] (A : Matrix m n 𝕜) : Matrix.opNorm Aᴴ = Matrix.opNorm A := by unfold Matrix.opNorm rw [← ContinuousLinearMap.adjoint.norm_map (toEuclideanLin A).toContinuousLine...

quantum informationentropyquantum channels

Source project: quantumInfo

Person-level attribution pending.

View proof record
Project-declaredLean 4.28.0

Convex roof of pure

convex_roof_of_pure

Plain-language statement

The convex roof extension of g : KetUpToPhase d → ℝ≥0 applied to a pure state ψ is g (KetUpToPhase.mk ψ).

quantum informationentropyquantum channels

Source project: quantumInfo

Person-level attribution pending.

View proof record
Project-declaredLean 4.28.0

Id achieves Rate log dim

CPTPMap.id_achievesRate_log_dim

Plain-language statement

The identity channel on D dimensional space achieves a rate of log2(D).

quantum informationentropyquantum channels

Source project: quantumInfo

Person-level attribution pending.

View proof record