Documentation

Books.ConvexAnalysis_Rockafellar_1970.Chapters.Chap02.section08_part1

Definition 8.0.1. Let C be a nonempty convex set in ℝ^n. The set C recedes in the direction of a nonzero vector y if x + λ • y ∈ C for all x ∈ C and all λ ≥ 0.

Equations
Instances For
    def Set.recessionCone {E : Type u_1} [AddCommGroup E] [Module E] (C : Set E) :
    Set E

    Definition 8.0.2. Let C be a non-empty convex set. The recession cone of C is the set 0^+ C = { y | x + λ • y ∈ C for all x ∈ C and all λ ≥ 0 }.

    Equations
    Instances For

      Definition 8.0.3. Let C be a non-empty convex set in R^n. A direction D of R^n is called a direction of recession of C if C recedes in the direction D.

      Equations
      Instances For
        theorem add_mem_of_add_mem_nat_smul {n : } {C : Set (EuclideanSpace (Fin n))} {y : EuclideanSpace (Fin n)} (hadd : xC, x + y C) {x : EuclideanSpace (Fin n)} (_hx : x C) (m : ) :
        x + m y C

        If C is closed under translation by y, then all integer translates stay in C.

        theorem mem_recessionCone_of_add_mem {n : } {C : Set (EuclideanSpace (Fin n))} (hconv : Convex C) {y : EuclideanSpace (Fin n)} (hadd : xC, x + y C) :

        If C is convex and C + y ⊆ C, then y lies in the recession cone.

        theorem recessionCone_eq_add_mem {n : } {C : Set (EuclideanSpace (Fin n))} (hconv : Convex C) :
        C.recessionCone = {y : EuclideanSpace (Fin n) | xC, x + y C}

        Characterization of the recession cone via unit translation.

        The recession cone of a convex set is convex.

        theorem recessionCone_smul_pos {n : } {C : Set (EuclideanSpace (Fin n))} {y : EuclideanSpace (Fin n)} (hy : y C.recessionCone) {t : } (ht : 0 < t) :

        Positive scaling preserves membership in the recession cone.

        theorem recessionCone_convexCone_and_eq {n : } {C : Set (EuclideanSpace (Fin n))} (_hC : C.Nonempty) (hconv : Convex C) :
        Convex C.recessionCone (∀ yC.recessionCone, ∀ (t : ), 0 < tt y C.recessionCone) 0 C.recessionCone C.recessionCone = {y : EuclideanSpace (Fin n) | xC, x + y C}

        Theorem 8.1. Let C be a non-empty convex set. The recession cone 0^+ C is a convex cone containing the origin, and it equals the set of vectors y such that C + y ⊆ C.

        A direction vector of an affine subspace belongs to its recession cone.

        Any vector in the recession cone of a nonempty affine subspace lies in its direction.

        Corollary 8.1.1. If M ⊆ ℝ^n is a non-empty affine set and L is the linear subspace parallel to M, then 0^+ M = L.

        theorem inner_add_smul_eq {n : } (x y b : EuclideanSpace (Fin n)) (t : ) :
        inner (x + t y) b = inner x b + t * inner y b

        Inner product with a translated point splits into a sum.

        theorem nonneg_of_forall_add_smul_ge {a b c : } (h : t0, a + t * b c) :
        0 b

        If a linear function is bounded below on t ≥ 0, its slope is nonnegative.

        theorem recessionCone_subset_inner_ge_zero {n : } {ι : Type u_1} (I : Set ι) (b : ιEuclideanSpace (Fin n)) (β : ι) (hC : {x : EuclideanSpace (Fin n) | iI, inner x (b i) β i}.Nonempty) {y : EuclideanSpace (Fin n)} (hy : y {x : EuclideanSpace (Fin n) | iI, inner x (b i) β i}.recessionCone) (i : ι) :
        i Iinner y (b i) 0

        Vectors in the recession cone of a nonempty intersection of half-spaces have nonnegative inner products with the defining normals.

        The recession cone of a closed set is closed.

        theorem recessionCone_eq_inner_ge_zero {n : } {ι : Type u_1} (I : Set ι) (b : ιEuclideanSpace (Fin n)) (β : ι) (hC : {x : EuclideanSpace (Fin n) | iI, inner x (b i) β i}.Nonempty) :
        {x : EuclideanSpace (Fin n) | iI, inner x (b i) β i}.recessionCone = {y : EuclideanSpace (Fin n) | iI, inner y (b i) 0}

        Corollary 8.1.2. Let C = {x ∈ ℝ^n | ⟪x, b_i⟫ ≥ β_i, ∀ i ∈ I} be nonempty. Then 0^+ C = {y ∈ ℝ^n | ⟪y, b_i⟫ ≥ 0, ∀ i ∈ I}.

        theorem recessionCone_subset_seq_limits {n : } {C : Set (EuclideanSpace (Fin n))} (hCne : C.Nonempty) {y : EuclideanSpace (Fin n)} (hy : y C.recessionCone) :
        ∃ (x : EuclideanSpace (Fin n)) (r : ), (∀ (n_1 : ), x n_1 C) Antitone r Filter.Tendsto r Filter.atTop (nhds 0) Filter.Tendsto (fun (n_1 : ) => r n_1 x n_1) Filter.atTop (nhds y)

        Elements of the recession cone give limits with decreasing coefficients.

        theorem mem_K_of_mem_closure_K_first_pos {n : } {C : Set (EuclideanSpace (Fin n))} (hCclosed : IsClosed C) (hCconv : Convex C) :
        have coords := (EuclideanSpace.equiv (Fin (1 + n)) ); have first := fun (v : EuclideanSpace (Fin (1 + n))) => coords v 0; have tail := fun (v : EuclideanSpace (Fin (1 + n))) => (EuclideanSpace.equiv (Fin n) ).symm fun (i : Fin n) => coords v (Fin.natAdd 1 i); have S := {v : EuclideanSpace (Fin (1 + n)) | first v = 1 tail v C}; have K := (ConvexCone.hull S); vclosure K, 0 < first vv K

        If a point in closure K has positive first coordinate, then it lies in K.

        theorem tail_mem_recessionCone_of_mem_closure_K_first_zero {n : } {C : Set (EuclideanSpace (Fin n))} (hCclosed : IsClosed C) (hCconv : Convex C) :
        have coords := (EuclideanSpace.equiv (Fin (1 + n)) ); have first := fun (v : EuclideanSpace (Fin (1 + n))) => coords v 0; have tail := fun (v : EuclideanSpace (Fin (1 + n))) => (EuclideanSpace.equiv (Fin n) ).symm fun (i : Fin n) => coords v (Fin.natAdd 1 i); have S := {v : EuclideanSpace (Fin (1 + n)) | first v = 1 tail v C}; have K := (ConvexCone.hull S); vclosure K, first v = 0tail v C.recessionCone

        Points in closure K with zero first coordinate yield recession directions.

        theorem closure_cone_eq_union_recession {n : } {C : Set (EuclideanSpace (Fin n))} (hCne : C.Nonempty) (hCclosed : IsClosed C) (hCconv : Convex C) :
        have coords := (EuclideanSpace.equiv (Fin (1 + n)) ); have first := fun (v : EuclideanSpace (Fin (1 + n))) => coords v 0; have tail := fun (v : EuclideanSpace (Fin (1 + n))) => (EuclideanSpace.equiv (Fin n) ).symm fun (i : Fin n) => coords v (Fin.natAdd 1 i); have S := {v : EuclideanSpace (Fin (1 + n)) | first v = 1 tail v C}; have K := (ConvexCone.hull S); closure K = K {v : EuclideanSpace (Fin (1 + n)) | first v = 0 tail v C.recessionCone}

        The closure of K adds precisely the recession directions at first = 0.

        theorem seq_limits_subset_recessionCone {n : } {C : Set (EuclideanSpace (Fin n))} (hCne : C.Nonempty) (hCclosed : IsClosed C) (hCconv : Convex C) {y : EuclideanSpace (Fin n)} (hy : ∃ (x : EuclideanSpace (Fin n)) (r : ), (∀ (n_1 : ), x n_1 C) Antitone r Filter.Tendsto r Filter.atTop (nhds 0) Filter.Tendsto (fun (n_1 : ) => r n_1 x n_1) Filter.atTop (nhds y)) :

        Reverse inclusion for the sequence characterization of the recession cone.