Documentation

Books.ConvexAnalysis_Rockafellar_1970.Chapters.Chap02.section08_part7

theorem convexFunction_const_on_affine_of_finite_boundedAbove {n : } {f : (Fin n)EReal} (hf : ConvexFunction f) (M : AffineSubspace (Fin n)) (hfinite : xM, f x f x ) (hbounded : ∃ (α : ), xM, f x α) :
∃ (c : EReal), xM, f x = c

Corollary 8.6.2. A convex function f is constant on any affine set M where it is finite and bounded above.

Definiton 8.7.0. Let f be a proper convex function on ℝ^n and let f0^+ be its recession function. The constancy space of f is the set { y ∈ ℝ^n | (f0^+)(y) ≤ 0 and (f0^+)(-y) ≤ 0 }.

Equations
Instances For
    theorem recessionCone_sublevel_of_antitone {n : } {f : EuclideanSpace (Fin n)EReal} {r : } {y : EuclideanSpace (Fin n)} :
    (∀ (x : EuclideanSpace (Fin n)), Antitone fun (t : ) => f (x + t y))y {x : EuclideanSpace (Fin n) | f x r}.recessionCone

    If all rays are antitone, then any sublevel set recedes in direction y.

    If the recession cone is given by f0_plus y ≤ 0, its lineality space is the constancy space of f0_plus.

    theorem liminf_lt_top_of_recessionCone_sublevel {n : } {f : EuclideanSpace (Fin n)} {r : } {x y : EuclideanSpace (Fin n)} (hx : (f x) r) (hy : y {x : EuclideanSpace (Fin n) | (f x) r}.recessionCone) :
    Filter.liminf (fun (t : ) => (f (x + t y))) Filter.atTop <

    If x is in a sublevel set and y in its recession cone, the ray liminf is finite.

    theorem antitone_all_of_mem_recessionCone_sublevel {n : } {f : EuclideanSpace (Fin n)} {f0_plus : EuclideanSpace (Fin n)EReal} (hfclosed : ClosedConvexFunction fun (x : Fin n) => (f ((EuclideanSpace.equiv (Fin n) ).symm x))) (hfproper : ProperConvexFunctionOn Set.univ fun (x : Fin n) => (f ((EuclideanSpace.equiv (Fin n) ).symm x))) (hf0_plus : ∀ (y : Fin n), f0_plus ((EuclideanSpace.equiv (Fin n) ).symm y) = sSup {r : EReal | xSet.univ, r = ↑(f ((EuclideanSpace.equiv (Fin n) ).symm (x + y)) - f ((EuclideanSpace.equiv (Fin n) ).symm x))}) {r : } (hnonempty : {x : EuclideanSpace (Fin n) | (f x) r}.Nonempty) {y : EuclideanSpace (Fin n)} (hy : y {x : EuclideanSpace (Fin n) | (f x) r}.recessionCone) (x : EuclideanSpace (Fin n)) :
    Antitone fun (t : ) => f (x + t y)

    Membership in a sublevel recession cone forces all rays to be antitone.

    theorem recessionCone_sublevel_eq_f0plus_le_zero {n : } {f : EuclideanSpace (Fin n)} {f0_plus : EuclideanSpace (Fin n)EReal} (hfclosed : ClosedConvexFunction fun (x : Fin n) => (f ((EuclideanSpace.equiv (Fin n) ).symm x))) (hfproper : ProperConvexFunctionOn Set.univ fun (x : Fin n) => (f ((EuclideanSpace.equiv (Fin n) ).symm x))) (hf0_plus : ∀ (y : Fin n), f0_plus ((EuclideanSpace.equiv (Fin n) ).symm y) = sSup {r : EReal | xSet.univ, r = ↑(f ((EuclideanSpace.equiv (Fin n) ).symm (x + y)) - f ((EuclideanSpace.equiv (Fin n) ).symm x))}) {r : } (hnonempty : {x : EuclideanSpace (Fin n) | (f x) r}.Nonempty) :
    {x : EuclideanSpace (Fin n) | (f x) r}.recessionCone = {y : EuclideanSpace (Fin n) | f0_plus y 0}

    Nonempty sublevel sets share recession cone {y | f0_plus y ≤ 0}.

    theorem levelSet_recessionCone_and_lineality_eq_constancySpace {n : } {f : EuclideanSpace (Fin n)} {f0_plus : EuclideanSpace (Fin n)EReal} (hfclosed : ClosedConvexFunction fun (x : Fin n) => (f ((EuclideanSpace.equiv (Fin n) ).symm x))) (hfproper : ProperConvexFunctionOn Set.univ fun (x : Fin n) => (f ((EuclideanSpace.equiv (Fin n) ).symm x))) (hf0_plus : ∀ (y : Fin n), f0_plus ((EuclideanSpace.equiv (Fin n) ).symm y) = sSup {r : EReal | xSet.univ, r = ↑(f ((EuclideanSpace.equiv (Fin n) ).symm (x + y)) - f ((EuclideanSpace.equiv (Fin n) ).symm x))}) {r : } :
    {x : EuclideanSpace (Fin n) | (f x) r}.Nonempty{x : EuclideanSpace (Fin n) | (f x) r}.recessionCone = {y : EuclideanSpace (Fin n) | f0_plus y 0} -{x : EuclideanSpace (Fin n) | (f x) r}.recessionCone {x : EuclideanSpace (Fin n) | (f x) r}.recessionCone = Function.constancySpace f0_plus

    Theorem 8.7. Let f be a closed proper convex function. Then all non-empty level sets {x | f(x) ≤ λ} have the same recession cone and the same lineality space, namely {y | (f0^+)(y) ≤ 0} and the constancy space of f, respectively.

    theorem sublevel_isClosed_convex_of_closedConvex {n : } {f : EuclideanSpace (Fin n)} (hfclosed : ClosedConvexFunction fun (x : Fin n) => (f ((EuclideanSpace.equiv (Fin n) ).symm x))) (r : ) :
    IsClosed {x : EuclideanSpace (Fin n) | (f x) r} Convex {x : EuclideanSpace (Fin n) | (f x) r}

    Sublevel sets of a closed convex function are closed and convex.

    theorem levelSet_bounded_of_bounded_one {n : } {f : EuclideanSpace (Fin n)} (hfclosed : ClosedConvexFunction fun (x : Fin n) => (f ((EuclideanSpace.equiv (Fin n) ).symm x))) (hfproper : ProperConvexFunctionOn Set.univ fun (x : Fin n) => (f ((EuclideanSpace.equiv (Fin n) ).symm x))) {r0 : } (hlevel : {x : EuclideanSpace (Fin n) | (f x) r0}.Nonempty) (hbounded : Bornology.IsBounded {x : EuclideanSpace (Fin n) | (f x) r0}) (r : ) :

    Corollary 8.7.1. Let f be a closed proper convex function. If the level set {x | f(x) ≤ λ} is non-empty and bounded for one λ, it is bounded for every λ.

    theorem ray_eq_of_ineq_pair {n : } {f : (Fin n)} {y : Fin n} {v : } (hpos : ∀ (x : Fin n) (t : ), 0 tf (x + t y) f x + t * v) (hneg : ∀ (x : Fin n) (t : ), 0 tf (x + t -y) f x + t * -v) (x : Fin n) (t : ) :
    f (x + t y) = f x + t * v

    Two-sided ray inequalities force affine behavior along the direction.

    Negation commutes with the embedded epigraph map.

    theorem mem_recessionCone_embedded_epigraph_iff_ray_ineq {n : } {f : (Fin n)} {y : Fin n} {v : } :
    (have eN := (EuclideanSpace.equiv (Fin n) ).symm.toAffineEquiv; have e1 := ((ContinuousLinearEquiv.funUnique (Fin 1) ).symm.toLinearEquiv ≪≫ₗ (EuclideanSpace.equiv (Fin 1) ).symm.toLinearEquiv).toAffineEquiv; have g := eN.prodCongr e1; have epi := (appendAffineEquiv n 1) '' (g '' epigraph Set.univ fun (x : Fin n) => (f x)); have yv := (appendAffineEquiv n 1) (g (y, v)); yv epi.recessionCone) ∀ (x : Fin n) (t : ), 0 tf (x + t y) f x + t * v

    Membership in the embedded epigraph recession cone is equivalent to ray inequalities.

    theorem f0plus_eq_slope_of_affine_ray {n : } {f f0_plus : (Fin n)} (hf0_plus : ∀ (y : Fin n), (f0_plus y) = sSup {r : EReal | xSet.univ, r = ↑(f (x + y) - f x)}) (hclosed : ClosedConvexFunction fun (x : Fin n) => (f x)) {x : Fin n} (_hx : x effectiveDomain Set.univ fun (x : Fin n) => (f x)) {y : Fin n} {a b : } :
    (∀ (t : ), f (x + t y) = a * t + b)f0_plus y = a f0_plus (-y) = -a

    An affine ray determines the recession function value.

    theorem properConvexFunction_lineality_equiv {n : } {f f0_plus : (Fin n)} (hf : ProperConvexFunctionOn Set.univ fun (x : Fin n) => (f x)) (hf0_plus : ∀ (y : Fin n), (f0_plus y) = sSup {r : EReal | xSet.univ, r = ↑(f (x + y) - f x)}) :
    (∀ (y : Fin n) (v : ), ((∀ (x : Fin n) (t : ), f (x + t y) = f x + t * v) have epi := (appendAffineEquiv n 1) '' ((fun (p : (Fin n) × ) => ((EuclideanSpace.equiv (Fin n) ).symm p.1, (EuclideanSpace.equiv (Fin 1) ).symm fun (x : Fin 1) => p.2)) '' epigraph Set.univ fun (x : Fin n) => (f x)); have yv := (appendAffineEquiv n 1) ((EuclideanSpace.equiv (Fin n) ).symm y, (EuclideanSpace.equiv (Fin 1) ).symm fun (x : Fin 1) => v); yv -epi.recessionCone epi.recessionCone) ((have epi := (appendAffineEquiv n 1) '' ((fun (p : (Fin n) × ) => ((EuclideanSpace.equiv (Fin n) ).symm p.1, (EuclideanSpace.equiv (Fin 1) ).symm fun (x : Fin 1) => p.2)) '' epigraph Set.univ fun (x : Fin n) => (f x)); have yv := (appendAffineEquiv n 1) ((EuclideanSpace.equiv (Fin n) ).symm y, (EuclideanSpace.equiv (Fin 1) ).symm fun (x : Fin 1) => v); yv -epi.recessionCone epi.recessionCone) -f0_plus (-y) = f0_plus y f0_plus y = v)) ∀ (y : Fin n), (ClosedConvexFunction fun (x : Fin n) => (f x))(∃ xeffectiveDomain Set.univ fun (x : Fin n) => (f x), ∃ (a : ) (b : ), ∀ (t : ), f (x + t y) = a * t + b)(∀ (x : Fin n) (t : ), f (x + t y) = f x + t * f0_plus y) (have epi := (appendAffineEquiv n 1) '' ((fun (p : (Fin n) × ) => ((EuclideanSpace.equiv (Fin n) ).symm p.1, (EuclideanSpace.equiv (Fin 1) ).symm fun (x : Fin 1) => p.2)) '' epigraph Set.univ fun (x : Fin n) => (f x)); have yv := (appendAffineEquiv n 1) ((EuclideanSpace.equiv (Fin n) ).symm y, (EuclideanSpace.equiv (Fin 1) ).symm fun (x : Fin 1) => f0_plus y); yv -epi.recessionCone epi.recessionCone) -f0_plus (-y) = f0_plus y

    Theorem 8.8. For a proper convex function f, the following conditions on a vector y and a real number v are equivalent: (a) f (x + λ • y) = f x + λ v for all x and λ ∈ ℝ; (b) (y, v) belongs to the lineality space of epi f; (c) -(f0^+)(-y) = (f0^+)(y) = v. When f is closed, y satisfies these conditions with v = (f0^+)(y) if there is some x ∈ dom f such that λ ↦ f (x + λ • y) is affine.

    Definition 8.9.0. Let f be a proper convex function on ℝ^n with recession function f0^+. The set of vectors y such that (f0^+)(-y) = -(f0^+)(y) is called the lineality space of the proper convex function f.

    Equations
    Instances For