On complemented subspaces of L1[0,1]L_1[0,1]

PL1/MatrixTraceLimit.lean

All source files · Download exact source

SHA-256: bea469326969450106350fee37899de306e852e3f665be64bb2aac325144114f

1import PL1.InputCompression23/-! # Passage from finite matrix traces to the whole operator -/45noncomputable section6set_option autoImplicit false7set_option maxHeartbeats 8000008set_option backward.isDefEq.respectTransparency false9open MeasureTheory Filter10open scoped ENNReal BigOperators Topology1112namespace PL1.MatrixTrace1314attribute [local instance] DyadicTrace.intervalMeasure_probability1516variable {𝕜 Ω : Type*} [RCLike 𝕜] [MeasurableSpace Ω]17  (μ : Measure Ω) [SFinite μ]1819theorem trace_tendsto_zero_of_column_tails20    (A : L1Sum (Lp 𝕜 1 μ) →L[𝕜] IntervalL1 𝕜)21    (Q : L1Sum (Lp 𝕜 1 μ) →L[𝕜] L1Sum (Lp 𝕜 1 μ))22    (B : IntervalL1 𝕜 →L[𝕜] L1Sum (Lp 𝕜 1 μ))23    (houtput : ∀ F : Finset ℕ, Tendsto (fun m =>24      ‖(ContinuousLinearMap.id 𝕜 (L1Sum (Lp 𝕜 1 μ)) - compression (Finset.range m)).comp25        (Q.comp (compression F))‖) atTop (𝓝 0))26    (hentry : ∀ i j, Tendsto (fun n => DyadicTrace.trace n27      ((A.comp (insertion i)).comp ((entry Q i j).comp ((coordinate j).comp B))))28        atTop (𝓝 0)) :29    Tendsto (fun n => DyadicTrace.trace n (A.comp (Q.comp B))) atTop (𝓝 0) := by30  let R (F : Finset ℕ) := A.comp (Q.comp ((compression F).comp B))31  have htrace (F : Finset ℕ) : Tendsto (fun n => DyadicTrace.trace n (R F)) atTop (𝓝 0) := by32    let Rm (m : ℕ) := A.comp ((compression (Finset.range m)).comp (Q.comp ((compression F).comp B)))33    have hRm (m : ℕ) : Tendsto (fun n => DyadicTrace.trace n (Rm m)) atTop (𝓝 0) :=34      compressed_trace_tendsto_zero (Finset.range m) F A Q B (fun i _ j _ => hentry i j)35    apply DyadicTrace.trace_tendsto_zero_of_approximation (R F) Rm hRm36    have heq (m : ℕ) : DyadicTrace.restrictLinfty (R F - Rm m) =37        (A.comp ((ContinuousLinearMap.id 𝕜 (L1Sum (Lp 𝕜 1 μ)) - compression (Finset.range m)).comp38          (Q.comp (compression F)))).comp39            (B.comp (ProbabilityLp.inclusion intervalMeasure 1 ∞ le_top)) := by40      apply ContinuousLinearMap.ext41      intro f42      simp only [R, Rm, DyadicTrace.restrictLinfty, ContinuousLinearMap.comp_apply,43        sub_apply, map_sub, ContinuousLinearMap.id_apply]44    have hn (m : ℕ) : ‖DyadicTrace.restrictLinfty (R F - Rm m)‖ ≤45        (‖A‖ * ‖(ContinuousLinearMap.id 𝕜 (L1Sum (Lp 𝕜 1 μ)) - compression (Finset.range m)).comp46          (Q.comp (compression F))‖) * ‖B.comp (ProbabilityLp.inclusion intervalMeasure 1 ∞ le_top)‖ := by47      rw [heq]48      exact (ContinuousLinearMap.opNorm_comp_le _ _).trans49        (mul_le_mul_of_nonneg_right (ContinuousLinearMap.opNorm_comp_le _ _) (norm_nonneg _))50    apply squeeze_zero (fun m => norm_nonneg _) hn51    simpa using ((houtput F).const_mul ‖A‖).mul_const52      ‖B.comp (ProbabilityLp.inclusion intervalMeasure 1 ∞ le_top)‖53  apply DyadicTrace.trace_tendsto_zero_of_approximation _ (fun n => R (Finset.range n))54    (fun n => htrace (Finset.range n))55  have heq (n : ℕ) : DyadicTrace.restrictLinfty (A.comp (Q.comp B) - R (Finset.range n)) =56      (A.comp Q).comp57        (((ContinuousLinearMap.id 𝕜 (L1Sum (Lp 𝕜 1 μ)) - compression (Finset.range n)).comp B).comp58          (ProbabilityLp.inclusion intervalMeasure 1 ∞ le_top)) := by59    apply ContinuousLinearMap.ext60    intro f61    simp only [R, DyadicTrace.restrictLinfty, ContinuousLinearMap.comp_apply,62      sub_apply, map_sub, ContinuousLinearMap.id_apply]63  have hn (n : ℕ) : ‖DyadicTrace.restrictLinfty (A.comp (Q.comp B) - R (Finset.range n))‖ ≤64      ‖A.comp Q‖ * ‖((ContinuousLinearMap.id 𝕜 (L1Sum (Lp 𝕜 1 μ)) - compression (Finset.range n)).comp B).comp65        (ProbabilityLp.inclusion intervalMeasure 1 ∞ le_top)‖ := by66    rw [heq]67    exact ContinuousLinearMap.opNorm_comp_le _ _68  apply squeeze_zero (fun n => norm_nonneg _) hn69  simpa using (InputCompression.norm_input_compression_error_tendsto_zero μ B).const_mul ‖A.comp Q‖7071theorem one_le_norm_id_sub_of_column_tails72    (A : L1Sum (Lp 𝕜 1 μ) →L[𝕜] IntervalL1 𝕜)73    (Q : L1Sum (Lp 𝕜 1 μ) →L[𝕜] L1Sum (Lp 𝕜 1 μ))74    (B : IntervalL1 𝕜 →L[𝕜] L1Sum (Lp 𝕜 1 μ))75    (houtput : ∀ F : Finset ℕ, Tendsto (fun m =>76      ‖(ContinuousLinearMap.id 𝕜 (L1Sum (Lp 𝕜 1 μ)) - compression (Finset.range m)).comp77        (Q.comp (compression F))‖) atTop (𝓝 0))78    (hentry : ∀ i j, Tendsto (fun n => DyadicTrace.trace n79      ((A.comp (insertion i)).comp ((entry Q i j).comp ((coordinate j).comp B))))80        atTop (𝓝 0)) :81    1 ≤ ‖DyadicTrace.restrictLinfty82      (ContinuousLinearMap.id 𝕜 (IntervalL1 𝕜) - A.comp (Q.comp B))‖ :=83  DyadicTrace.one_le_norm_id_sub _ (trace_tendsto_zero_of_column_tails μ A Q B houtput hentry)8485end PL1.MatrixTrace86