InformationTheory

InformationTheory.Shannon.Sanov.MultinomialLowerBound

source

Multinomial lower bound (Stirling-free) #

The Stirling-free multinomial lower bound for the type class cardinality (Cover-Thomas): (n+1)^{-|α|} · n^n / ∏ c(a)^{c(a)} ≤ |T_c|.

Main statements #

Implementation notes #

  • The multinomial lower bound is proved without Stirling's approximation, using only the per-letter inequality c! · c^k ≤ k! · c^c.

References #

  • T. M. Cover and J. A. Thomas, Elements of Information Theory (2nd ed.), Wiley, 2006.

Multinomial lower bound (Stirling-free) #

theorem

InformationTheory.Shannon.numTypes_le

source
{α : Type u_1} [Fintype α] [DecidableEq α] (n : ) :

The number of types (count vectors c : α → ℕ with ∑ a, c a = n, equivalently the elements of piAntidiag univ n) is at most (n+1)^{|α|}.

Used by
    theorem

    InformationTheory.Shannon.prod_div_pow_eq_prod_pow_div_npow_of_sum

    source
    {α : Type u_1} [Fintype α] {n : } (c k : α) (hk_sum : a : α, k a = n) :
    a : α, ((c a) / n) ^ k a = (∏ a : α, (c a) ^ k a) / n ^ n
    Used by
      theorem

      InformationTheory.Shannon.inv_mul_div_le_of_one_le_mul_mul_div

      source
      {B M P x : } (hB : 0 < B) (hP : 0 < P) (hx : 0 < x) (h : 1 B * (M * (P / x))) :
      B⁻¹ * (x / P) M
      Used by
        theorem

        InformationTheory.Shannon.multinomial_mul_prod_ratio_pow_le

        source
        {α : Type u_1} [Fintype α] {n : } (c k : α) (hc_sum : a : α, c a = n) (hk_sum : a : α, k a = n) :
        (Nat.multinomial Finset.univ k) * a : α, ((c a) / n) ^ k a (Nat.multinomial Finset.univ c) * a : α, ((c a) / n) ^ c a
        Used by
          theorem

          InformationTheory.Shannon.typeClassByCount_card_ge

          source
          {α : Type u_1} [Fintype α] [DecidableEq α] {n : } (c : α) (hc_sum : a : α, c a = n) :
          ((n + 1) ^ Fintype.card α)⁻¹ * (n ^ n / a : α, (c a) ^ c a) .toFinset.card

          Multinomial lower bound: (n+1)^{-|α|} · n^n / ∏ c(a)^{c(a)} ≤ |T_c|.

          Used by
            theorem

            InformationTheory.Shannon.typeClassByCount_card_le

            source
            {α : Type u_1} [Fintype α] [DecidableEq α] {n : } (c : α) (hc_sum : a : α, c a = n) :
            .toFinset.card n ^ n / a : α, (c a) ^ c a

            Multinomial upper bound (method of types): |T_c| ≤ n^n / ∏ c(a)^{c(a)}.

            Used by
              theorem

              InformationTheory.Shannon.typeClassByCount_Qn_ge

              source
              {α : Type u_1} [Fintype α] [DecidableEq α] [MeasurableSpace α] [MeasurableSingletonClass α] (Q : MeasureTheory.Measure α) [MeasureTheory.IsProbabilityMeasure Q] (hQpos : ∀ (a : α), 0 < Q.real {a}) {n : } (hn : 0 < n) (c : α) (hc_sum : a : α, c a = n) :
              ((n + 1) ^ Fintype.card α)⁻¹ * Real.exp (-(n * klDivIndex c n Q)) ((MeasureTheory.Measure.pi fun (x : Fin n) => Q) (typeClassByCount c)).toReal

              Lower bound on Q^n(T_c): Q^n(T_c) ≥ (n+1)^{-|α|} · exp(-n · klDivIndex c n Q).

              Used by