Documentation

Tdaf.Analysis.Convex.Operations.InfConv

Infimal convolution #

The functional operation f □ g corresponding to addition of epigraphs: the function determined by epi f + epi g. It is convex whenever f and g are, and it is dual to pointwise addition of convex functions under conjugacy.

f □ g is defined as ofEpi (epi f + epi g), not by the classical formula (f □ g) x = ⨅ y, f (x - y) + g y, which is ill-formed as soon as one function reaches ⊤ where the other reaches ⊥: for f ≡ ⊤ and g 0 = ⊥, epi f + epi g = ∅ so the left side is ⊤ and the right side ⊤ + ⊥ = ⊥. infConv_apply recovers the formula under f, g ≠ ⊥; since that example uses only one ⊤ value and one ⊥ value, a single such hypothesis will not do.

Main definitions #

Main results #

References #

The definition and its epigraph #

noncomputable def Tdaf.ConvexAnalysis.infConv {E : Type u_1} [AddCommGroup E] (f g : E → EReal) :
E → EReal

Infimal convolution f □ g, defined by addition of epigraphs rather than by the infimum formula (f □ g) x = ⨅ y, f (x - y) + g y, which is ill-formed when f or g takes the value ⊥. The formula is infConv_apply.

Equations
Instances For
    theorem Tdaf.ConvexAnalysis.infConv_def {E : Type u_1} [AddCommGroup E] (f g : E → EReal) :
    infConv f g = ofEpi (epi f + epi g)
    theorem Tdaf.ConvexAnalysis.subset_epi_infConv {E : Type u_1} [AddCommGroup E] (f g : E → EReal) :
    epi f + epi g ⊆ epi (infConv f g)
    theorem Tdaf.ConvexAnalysis.epi_infConv {E : Type u_1} [AddCommGroup E] {f g : E → EReal} (h : IsEpiLike (epi f + epi g)) :
    epi (infConv f g) = epi f + epi g

    Rockafellar's description of epi (f □ g), under the hypothesis that makes it true.

    The hypothesis is not removable: a sum of epigraphs need not be an epigraph. On ℝ take f x = 1/x for x > 0 and ⊤ otherwise, and g ≡ 0; both are convex, every vertical section of epi f + epi g is Ioi 0, so the sum is ℝ ×ˢ Ioi 0, whereas f □ g ≡ 0 has epigraph ℝ ×ˢ Ici 0.

    theorem Tdaf.ConvexAnalysis.mem_epi_add_epi_of_le {E : Type u_1} [AddCommGroup E] {f g : E → EReal} {x : E} {μ ν : ℝ} (h : (x, μ) ∈ epi f + epi g) (hμν : μ ≤ ν) :
    (x, ν) ∈ epi f + epi g

    Vertical sections of a sum of epigraphs are upward closed: the half of IsEpiLike that holds unconditionally, closedness having to supply the other.

    theorem Tdaf.ConvexAnalysis.infConv_apply_le {E : Type u_1} [AddCommGroup E] {f g : E → EReal} {y z : E} {ν ρ : ℝ} (hy : f y ≤ ↑ν) (hz : g z ≤ ↑ρ) :
    infConv f g (y + z) ≤ ↑(ν + ρ)

    The basic upper bound, phrased inside the epigraphs so that no ∞ - ∞ can arise.

    The effective domain #

    theorem Tdaf.ConvexAnalysis.dom_infConv {E : Type u_1} [AddCommGroup E] (f g : E → EReal) :
    dom (infConv f g) = dom f + dom g

    dom (f □ g) = dom f + dom g, with no hypothesis, unlike dom_add for pointwise addition: dom is the projection of the epigraph, and projection is an additive hom.

    The infimum formula #

    theorem Tdaf.ConvexAnalysis.infConv_le_add {E : Type u_1} [AddCommGroup E] {f g : E → EReal} (hf : ∀ (x : E), f x ≠ ⊥) (hg : ∀ (x : E), g x ≠ ⊥) (x y : E) :
    infConv f g x ≤ f (x - y) + g y

    (f □ g) x ≤ f (x - y) + g y. Both ≠ ⊥ hypotheses are needed: without them the right side can be ⊤ + ⊥ = ⊥ while the left is ⊤.

    theorem Tdaf.ConvexAnalysis.infConv_apply {E : Type u_1} [AddCommGroup E] {f g : E → EReal} (hf : ∀ (x : E), f x ≠ ⊥) (hg : ∀ (x : E), g x ≠ ⊥) (x : E) :
    infConv f g x = ⨅ (y : E), f (x - y) + g y

    Rockafellar's formula for □: (f □ g) x = ⨅ y, f (x - y) + g y, "analogous to the classical formula for integral convolution". The ≠ ⊥ hypotheses make the right side meaningful.

    Commutativity, associativity, monotonicity #

    theorem Tdaf.ConvexAnalysis.infConv_comm {E : Type u_1} [AddCommGroup E] (f g : E → EReal) :
    infConv f g = infConv g f
    theorem Tdaf.ConvexAnalysis.epi_ofEpi_add_subset {E : Type u_1} [AddCommGroup E] (F G : Set (E × ℝ)) :
    epi (ofEpi F) + G ⊆ epi (ofEpi (F + G))

    Enlarging a summand from F to the epigraph it determines does not move the lower boundary of the sum: the points epi (ofEpi F) adds are limits from above of points of F. This is what makes □ associative.

    theorem Tdaf.ConvexAnalysis.infConv_ofEpi_left {E : Type u_1} [AddCommGroup E] (F : Set (E × ℝ)) (g : E → EReal) :
    infConv (ofEpi F) g = ofEpi (F + epi g)
    theorem Tdaf.ConvexAnalysis.infConv_ofEpi_right {E : Type u_1} [AddCommGroup E] (f : E → EReal) (G : Set (E × ℝ)) :
    infConv f (ofEpi G) = ofEpi (epi f + G)
    theorem Tdaf.ConvexAnalysis.infConv_assoc {E : Type u_1} [AddCommGroup E] (f g h : E → EReal) :
    infConv (infConv f g) h = infConv f (infConv g h)

    □ is associative. Not a direct consequence of associativity of set addition: epi (f □ g) is larger than epi f + epi g in general, and epi_ofEpi_add_subset closes the gap.

    theorem Tdaf.ConvexAnalysis.infConv_mono {E : Type u_1} [AddCommGroup E] {f₁ f₂ g₁ g₂ : E → EReal} (hf : f₁ ≤ f₂) (hg : g₁ ≤ g₂) :
    infConv f₁ g₁ ≤ infConv f₂ g₂

    Indicator functions: the identity element and translation #

    theorem Tdaf.ConvexAnalysis.epi_add_epi_indicatorFn_singleton {E : Type u_1} [AddCommGroup E] (f : E → EReal) (a : E) :
    epi f + epi (indicatorFn {a}) = epi fun (x : E) => f (x - a)

    Adding the epigraph of δ(· | a) — the half-cylinder {a} ×ˢ Ici 0 — translates an epigraph horizontally by a. Unlike a general sum of epigraphs, this one is an epigraph.

    theorem Tdaf.ConvexAnalysis.infConv_indicatorFn_singleton {E : Type u_1} [AddCommGroup E] (f : E → EReal) (a : E) :
    infConv f (indicatorFn {a}) = fun (x : E) => f (x - a)

    f □ δ(· | a) translates the graph of f horizontally by a.

    @[simp]

    δ(· | 0) is the identity element for □.

    theorem Tdaf.ConvexAnalysis.infConv_le_left {E : Type u_1} [AddCommGroup E] {g : E → EReal} (f : E → EReal) (hg : g 0 ≤ 0) :
    infConv f g ≤ f

    If g is nonpositive at the origin then f □ g ≤ f, since δ(· | 0) dominates such a g.

    theorem Tdaf.ConvexAnalysis.infConv_le_right {E : Type u_1} [AddCommGroup E] {f : E → EReal} (hf : f 0 ≤ 0) (g : E → EReal) :
    infConv f g ≤ g

    Convexity of an infimal convolute #

    theorem Tdaf.ConvexAnalysis.convexFn_infConv {E : Type u_1} [AddCommGroup E] [Module ℝ E] {f g : E → EReal} (hf : ConvexFn f) (hg : ConvexFn g) :

    The infimal convolute of two convex functions is convex. No properness is needed: the classical hypothesis only makes the infimum formula meaningful, and the epigraph definition does not use it.

    □ as a commutative monoid #

    E → EReal, carrying infimal convolution as its addition and δ(· | 0) as its zero; ∑ i ∈ s, toInfConvFn (f i) is Rockafellar's f₁ □ ⋯ □ fₘ.

    Equations
    Instances For

      A function E → EReal, regarded as an element of the infimal-convolution monoid.

      Equations
      Instances For

        An element of the infimal-convolution monoid, regarded as a function E → EReal.

        Equations
        Instances For
          @[instance_reducible]
          noncomputable instance Tdaf.ConvexAnalysis.InfConvFn.instAdd {E : Type u_1} [AddCommGroup E] :

          Infimal convolution is the addition of InfConvFn E.

          Equations
          @[instance_reducible]
          noncomputable instance Tdaf.ConvexAnalysis.InfConvFn.instZero {E : Type u_1} [AddCommGroup E] :

          δ(· | 0) is the zero of InfConvFn E.

          Equations
          @[instance_reducible]

          E → EReal is a commutative monoid under □, with identity δ(· | 0).

          Equations
          • One or more equations did not get rendered due to their size.
          theorem Tdaf.ConvexAnalysis.convexFn_sum_toInfConvFn {E : Type u_1} [AddCommGroup E] [Module ℝ E] {ι : Type u_2} {s : Finset ι} {f : ι → E → EReal} (hf : ∀ i ∈ s, ConvexFn (f i)) :
          ConvexFn (ofInfConvFn (∑ i ∈ s, toInfConvFn (f i)))

          Convexity in m-ary form: f₁ □ ⋯ □ fₘ is convex whenever f₁, …, fₘ are. The empty case is δ(· | 0), which is convex because {0} is.

          theorem Tdaf.ConvexAnalysis.sum_toInfConvFn_apply_le {ι : Type u_1} {E : Type u_2} [AddCommGroup E] {s : Finset ι} {g : ι → E → EReal} {y : ι → E} {c : ι → ℝ} (h : ∀ i ∈ s, g i (y i) ≤ ↑(c i)) :
          ofInfConvFn (∑ i ∈ s, toInfConvFn (g i)) (∑ i ∈ s, y i) ≤ ↑(∑ i ∈ s, c i)

          The m-ary basic upper bound, infConv_apply_le iterated; no hypothesis is needed.

          theorem Tdaf.ConvexAnalysis.sum_toInfConvFn_le_sum {ι : Type u_1} {E : Type u_2} [AddCommGroup E] {s : Finset ι} {g : ι → E → EReal} (hg : ∀ i ∈ s, ∀ (x : E), g i x ≠ ⊥) (y : ι → E) :
          ofInfConvFn (∑ i ∈ s, toInfConvFn (g i)) (∑ i ∈ s, y i) ≤ ∑ i ∈ s, g i (y i)

          The m-ary infimum bound: (g₁ □ ⋯ □ gₘ) (y₁ + ⋯ + yₘ) ≤ g₁ y₁ + ⋯ + gₘ yₘ. The ≠ ⊥ hypothesis sits on each gᵢ separately, never on a partial convolute: □ does not preserve ≠ ⊥, since g₁ x = -x and g₂ x = x are everywhere finite with g₁ □ g₂ ≡ -∞.

          theorem Tdaf.ConvexAnalysis.dom_sum_toInfConvFn {ι : Type u_1} {E : Type u_2} [AddCommGroup E] (s : Finset ι) (g : ι → E → EReal) :
          dom (ofInfConvFn (∑ i ∈ s, toInfConvFn (g i))) = ∑ i ∈ s, dom (g i)

          dom (g₁ □ ⋯ □ gₘ) = dom g₁ + ⋯ + dom gₘ, with no hypothesis; the empty convolute is δ(· | 0), whose domain {0} is the empty sum of sets.