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

PL1/ResolventNorms.lean

All source files · Download exact source

SHA-256: 23c680192d0f3fad1b93a0ffcce520cfd1ed083a6fd1457a22732398d35e0065

1import PL1.TruncatedResolventFactorization2import PL1.WalshBlocks34/-! # Exact norms of the actual resolvents and time cutoffs -/56noncomputable section7open MeasureTheory8open scoped ENNReal NNReal910namespace PL1.Noise11open Walsh WalshBlocks1213variable (𝕜 : Type*) [RCLike 𝕜] (rates : ℕ → ℝ≥0)1415theorem norm_resolventL1_eq_one (t : PositiveTime) : ‖resolventL1 𝕜 rates t‖ = 1 := by16  apply le_antisymm (norm_resolventL1_le_one 𝕜 rates t)17  have hf : scalarCharacterLp 𝕜 1 ∅ ≠ 0 := (linearIndependent_characterL1 𝕜).ne_zero ∅18  have hn := (resolventL1 𝕜 rates t).le_opNorm (scalarCharacterLp 𝕜 1 ∅)19  simp only [resolventL1_scalarCharacter, rateSum, Finset.sum_empty, mul_zero,20    add_zero, inv_one, RCLike.ofReal_one, one_smul] at hn21  nlinarith [norm_pos_iff.mpr hf]2223theorem norm_noiseL1_eq_one (u : ℝ≥0) : ‖noiseL1 𝕜 rates u‖ = 1 := by24  apply le_antisymm (norm_noiseL1_le_one 𝕜 rates u)25  have hf : scalarCharacterLp 𝕜 1 ∅ ≠ 0 := (linearIndependent_characterL1 𝕜).ne_zero ∅26  have hn := (noiseL1 𝕜 rates u).le_opNorm (scalarCharacterLp 𝕜 1 ∅)27  simp only [noiseL1_character, rateSum, Finset.sum_empty, mul_zero,28    Real.exp_zero, RCLike.ofReal_one, one_smul] at hn29  nlinarith [norm_pos_iff.mpr hf]3031theorem norm_truncatedResolventL1_eq (t : PositiveTime) (ε : ℝ≥0) :32    ‖truncatedResolventL1 𝕜 rates t ε‖ = Real.exp (-(ε : ℝ) / (t : ℝ)) := by33  apply le_antisymm34  · rw [truncatedResolventL1_eq_resolvent_comp_noise, norm_smul,35      RCLike.norm_ofReal, abs_of_pos (Real.exp_pos _)]36    have hb := ContinuousLinearMap.opNorm_comp_le37      (resolventL1 𝕜 rates t) (noiseL1 𝕜 rates ε)38    rw [norm_resolventL1_eq_one, norm_noiseL1_eq_one, mul_one] at hb39    simpa only [mul_one] using mul_le_mul_of_nonneg_left hb (Real.exp_pos _).le40  · have hf : scalarCharacterLp 𝕜 1 ∅ ≠ 0 := (linearIndependent_characterL1 𝕜).ne_zero ∅41    have he : truncatedResolventL1 𝕜 rates t ε (scalarCharacterLp 𝕜 1 ∅) =42        ((Real.exp (-(ε : ℝ) / (t : ℝ)) : ℝ) : 𝕜) • scalarCharacterLp 𝕜 1 ∅ := by43      rw [truncatedResolventL1_eq_resolvent_comp_noise]44      simp only [smul_apply, ContinuousLinearMap.comp_apply, noiseL1_character,45        resolventL1_scalarCharacter, rateSum, Finset.sum_empty, mul_zero,46        Real.exp_zero, add_zero, inv_one, RCLike.ofReal_one, one_smul]47    have hn := (truncatedResolventL1 𝕜 rates t ε).le_opNorm (scalarCharacterLp 𝕜 1 ∅)48    rw [he, norm_smul, RCLike.norm_ofReal, abs_of_pos (Real.exp_pos _)] at hn49    nlinarith [norm_pos_iff.mpr hf]5051theorem norm_resolventL1_sub_truncated_eq (t : PositiveTime) (ε : ℝ≥0) :52    ‖resolventL1 𝕜 rates t - truncatedResolventL1 𝕜 rates t ε‖ =53      1 - Real.exp (-(ε : ℝ) / (t : ℝ)) := by54  apply le_antisymm (norm_resolventL1_sub_truncated_le 𝕜 rates t ε)55  have hf : scalarCharacterLp 𝕜 1 ∅ ≠ 0 := (linearIndependent_characterL1 𝕜).ne_zero ∅56  have hnonneg : 0 ≤ 1 - Real.exp (-(ε : ℝ) / (t : ℝ)) := by57    apply sub_nonneg.mpr58    apply Real.exp_le_one_iff.mpr59    exact div_nonpos_of_nonpos_of_nonneg (neg_nonpos.mpr ε.coe_nonneg) t.property.le60  have he : (resolventL1 𝕜 rates t - truncatedResolventL1 𝕜 rates t ε)61      (scalarCharacterLp 𝕜 1 ∅) =62      (((1 - Real.exp (-(ε : ℝ) / (t : ℝ))) : ℝ) : 𝕜) • scalarCharacterLp 𝕜 1 ∅ := by63    rw [truncatedResolventL1_eq_resolvent_comp_noise]64    simp only [sub_apply, smul_apply, ContinuousLinearMap.comp_apply,65      noiseL1_character, resolventL1_scalarCharacter, rateSum,66      Finset.sum_empty, mul_zero, Real.exp_zero, add_zero, inv_one,67      RCLike.ofReal_one, one_smul, RCLike.ofReal_sub, sub_smul]68  have hn := (resolventL1 𝕜 rates t - truncatedResolventL1 𝕜 rates t ε).le_opNorm69    (scalarCharacterLp 𝕜 1 ∅)70  rw [he, norm_smul, RCLike.norm_ofReal, abs_of_nonneg hnonneg] at hn71  nlinarith [norm_pos_iff.mpr hf]7273end PL1.Noise74