Documentation

Books.ConvexAnalysis_Rockafellar_1970.Chapters.Chap03.section16_part2

@[simp]

The Euclidean-space equivalence reduces to the identity on Fin n → ℝ.

@[simp]

The inverse Euclidean-space equivalence reduces to WithLp.toLp.

Corollary 16.2.1. Let A be a linear transformation from ℝ^n to ℝ^m and let g be a proper convex function on ℝ^m. Then there exists no vector y* ∈ ℝ^m such that

A^* y* = 0, (g^*0^+)(y*) ≤ 0, and (g^*0^+)(-y*) > 0

if and only if A x ∈ ri (dom g) for at least one x ∈ ℝ^n.

Here dom g is the effective domain effectiveDomain univ g, ri is euclideanRelativeInterior, and (g^*0^+) is represented as recessionFunction (fenchelConjugate m g).

noncomputable def section16_blockEquivFun {n m : } :
(Fin (m * n)) ≃ₗ[] Fin mFin n

Block equivalence between flattened vectors and block families.

Equations
Instances For
    noncomputable def section16_blockLinearMap {n m : } (i : Fin m) :
    (Fin (m * n)) →ₗ[] Fin n

    Block projection linear map extracting the i-th block.

    Equations
    Instances For
      noncomputable def section16_unblock {n m : } :
      (Fin mFin n) →ₗ[] Fin (m * n)

      Flatten a block family into a single vector.

      Equations
      Instances For
        theorem section16_blockLinearMap_unblock {n m : } (i : Fin m) (x : Fin mFin n) :

        Unblocking followed by block projection recovers the original block.

        theorem section16_unblock_blockLinearMap {n m : } (x : Fin (m * n)) :

        Unblocking the block projections recovers the original vector.

        noncomputable def section16_diagBlockLinearMap {n m : } :
        (Fin n) →ₗ[] Fin mFin n

        Diagonal block embedding sending x to the constant block family.

        Equations
        Instances For
          noncomputable def section16_diagLinearMap {n m : } :
          (Fin n) →ₗ[] Fin (m * n)

          Diagonal embedding into the flattened space.

          Equations
          Instances For

            Block projection of the diagonal embedding is the identity.

            Each block projection is surjective.

            Diagonal embedding as a linear map on Euclidean space.

            Equations
            Instances For
              noncomputable def section16_blockLinearMapE {n m : } (i : Fin m) :

              Block projection as a linear map on Euclidean space.

              Equations
              Instances For

                Coercion form of the block projection.

                Block projection of the diagonal embedding is the identity on Euclidean space.

                theorem section16_blockLinearMap_apply_equiv {n m : } (i : Fin m) (x : Fin (m * n)) (j : Fin n) :

                Evaluate the block projection via the canonical index equivalence.

                theorem section16_unblock_apply_equiv {n m : } (xStar : Fin mFin n) (i : Fin m) (j : Fin n) :
                section16_unblock xStar ((Fintype.equivFinOfCardEq ) (i, j)) = xStar i j

                Evaluate unblocking via the canonical index equivalence.

                theorem section16_dotProduct_unblock_eq_sum_blocks {n m : } (xStar : Fin mFin n) (x : Fin (m * n)) :
                x ⬝ᵥ section16_unblock xStar = i : Fin m, (section16_blockLinearMap i) x ⬝ᵥ xStar i

                Dot product against an unblocked vector splits by blocks.

                theorem section16_dotProduct_unblock_eq_sum_blocks_symm {n m : } (xStar : Fin mFin n) (x : Fin (m * n)) :
                section16_unblock xStar ⬝ᵥ x = i : Fin m, xStar i ⬝ᵥ (section16_blockLinearMap i) x

                Dot product with an unblocked vector splits symmetrically by blocks.

                The adjoint of the diagonal embedding is the sum of block projections.

                theorem section16_effectiveDomain_blockSum_eq_iInter_preimage_blocks {n m : } (f : Fin m(Fin n)EReal) (hnotbot : ∀ (i : Fin m) (x : Fin n), f i x ) :
                have g := fun (x : Fin (m * n)) => i : Fin m, f i ((section16_blockLinearMap i) x); effectiveDomain Set.univ g = ⋂ (i : Fin m), (section16_blockLinearMap i) ⁻¹' effectiveDomain Set.univ (f i)

                Effective domain of a block-sum is the intersection of block preimages.

                theorem section16_properConvexFunctionOn_blockSum {n m : } (f : Fin m(Fin n)EReal) (hf : ∀ (i : Fin m), ProperConvexFunctionOn Set.univ (f i)) :
                ProperConvexFunctionOn Set.univ fun (x : Fin (m * n)) => i : Fin m, f i ((section16_blockLinearMap i) x)

                Properness of the block-sum function assembled from proper convex summands.

                theorem section16_blockLinearMapE_image_effectiveDomain_blockSum_eq {n m : } (f : Fin m(Fin n)EReal) (hf : ∀ (i : Fin m), ProperConvexFunctionOn Set.univ (f i)) (i : Fin m) :
                have g := fun (x : Fin (m * n)) => j : Fin m, f j ((section16_blockLinearMap j) x); (section16_blockLinearMapE i) '' ((fun (z : EuclideanSpace (Fin (m * n))) => z.ofLp) ⁻¹' effectiveDomain Set.univ g) = (fun (x : EuclideanSpace (Fin n)) => x.ofLp) ⁻¹' effectiveDomain Set.univ (f i)

                Image of the block projection on the block-sum effective domain.

                theorem section16_sum_coe {ι : Type u_1} (s : Finset ι) (f : ι) :
                is, (f i) = (s.sum f)

                Coercion from to EReal commutes with finite sums.

                theorem section16_sSup_image2_add_eq_sSup_add {S T : Set EReal} :
                sSup (Set.image2 (fun (x1 x2 : EReal) => x1 + x2) S T) = sSup S + sSup T

                Supremum of pairwise sums in EReal splits as the sum of suprema.

                theorem section16_supportFunction_effectiveDomain_blockSum_unblock_ge_sum {n m : } (f : Fin m(Fin n)EReal) (xStar : Fin mFin n) (hnotbot : ∀ (i : Fin m) (x : Fin n), f i x ) :
                have g := fun (x : Fin (m * n)) => i : Fin m, f i ((section16_blockLinearMap i) x); i : Fin m, supportFunctionEReal (effectiveDomain Set.univ (f i)) (xStar i) supportFunctionEReal (effectiveDomain Set.univ g) (section16_unblock xStar)

                Support function of a block-sum domain dominates the sum of blockwise support functions.

                theorem section16_supportFunction_effectiveDomain_blockSum_unblock_eq_sum {n m : } (f : Fin m(Fin n)EReal) (xStar : Fin mFin n) (hnotbot : ∀ (i : Fin m) (x : Fin n), f i x ) :
                have g := fun (x : Fin (m * n)) => i : Fin m, f i ((section16_blockLinearMap i) x); supportFunctionEReal (effectiveDomain Set.univ g) (section16_unblock xStar) = i : Fin m, supportFunctionEReal (effectiveDomain Set.univ (f i)) (xStar i)

                Support function of a block-sum effective domain splits by blocks.

                theorem section16_recession_blockSum_unblock_eq_sum {n m : } (f : Fin m(Fin n)EReal) (xStar : Fin mFin n) (hf : ∀ (i : Fin m), ProperConvexFunctionOn Set.univ (f i)) :
                have g := fun (x : Fin (m * n)) => i : Fin m, f i ((section16_blockLinearMap i) x); recessionFunction (fenchelConjugate (m * n) g) (section16_unblock xStar) = i : Fin m, recessionFunction (fenchelConjugate n (f i)) (xStar i)

                Recession of the block-sum conjugate splits by blocks at an unblocked covector.