Documentation

Tdaf.Analysis.Convex.Saddle.Monotone

The subdifferential of a saddle-function as a monotone mapping #

For a closed proper saddle-function K, the graph of ∂K is homeomorphic to the underlying space under (u, v, u*, v*) ↦ (u - u*, v + v*), and the mapping ρ : (u, v) ↦ {(-u*, v*) | (u*, v*) ∈ ∂K (u, v)} is maximal monotone.

Both come from the identification of ∂K with the partial inversion of ∂f, f the graph function of a convex bifunction representing the class of K. Partial inversion exchanges the second component of a relation's argument with that of its value and preserves the monotonicity form, so each is the matching fact about the subdifferential of a closed proper convex function.

Main definitions #

Main results #

Implementation notes #

The transfer lemmas need no symmetry and hold for arbitrary pairings. An inner product enters only where the corresponding facts about ∂f do, and there as a self-pairing rather than an InnerProductSpace instance: U × X carries the supremum norm, but prodPairing (innerₗ U) (innerₗ X) is a continuous inner pairing on it.

Two subdifferentials are in play — subgradientSaddle C D K for a real-valued K on an open rectangle, saddleSubgradient Bu Bx K for an EReal-valued one on the whole space — and they agree at C = D = univ, which is what the differentiable clause below needs.

References #

[^1]: R. T. Rockafellar, Convex Analysis, Princeton University Press, 1970, §37.

Partial inversion #

def Tdaf.ConvexAnalysis.partialInvertEquiv {U : Type u_1} {V : Type u_2} {X : Type u_3} {Y : Type u_4} :
(U × Y) × V × X ≃ (U × X) × V × Y

Partial inversion, Rockafellar's word: the involution exchanging the second component of a relation's argument with that of its value, ((u, y), (v, x)) ↦ ((u, x), (v, y)).

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem Tdaf.ConvexAnalysis.partialInvertEquiv_apply {U : Type u_1} {V : Type u_2} {X : Type u_3} {Y : Type u_4} (r : (U × Y) × V × X) :
    partialInvertEquiv r = ((r.1.1, r.2.2), r.2.1, r.1.2)
    @[simp]
    theorem Tdaf.ConvexAnalysis.partialInvertEquiv_symm_apply {U : Type u_1} {V : Type u_2} {X : Type u_3} {Y : Type u_4} (s : (U × X) × V × Y) :
    partialInvertEquiv.symm s = ((s.1.1, s.2.2), s.2.1, s.1.2)
    theorem Tdaf.ConvexAnalysis.prodPairing_sub_partialInvertEquiv {U : Type u_1} {V : Type u_2} {X : Type u_3} {Y : Type u_4} [AddCommGroup U] [Module ℝ U] [AddCommGroup V] [Module ℝ V] [AddCommGroup X] [Module ℝ X] [AddCommGroup Y] [Module ℝ Y] (Bu : U →ₗ[ℝ] V →ₗ[ℝ] ℝ) (Bx : X →ₗ[ℝ] Y →ₗ[ℝ] ℝ) (r s : (U × Y) × V × X) :
    ((prodPairing Bu Bx.flip) (r.1 - s.1)) (r.2 - s.2) = ((prodPairing Bu Bx) ((partialInvertEquiv r).1 - (partialInvertEquiv s).1)) ((partialInvertEquiv r).2 - (partialInvertEquiv s).2)

    Partial inversion preserves the monotonicity form. No symmetry is needed: the X-half of the form is Bx.flip (y₁ - y₂) (x₁ - x₂) on the source and Bx (x₁ - x₂) (y₁ - y₂) on the target, which is the same number.

    Maximal monotonicity transfers across partial inversion. This is the whole content of the maximal monotonicity of ρ, once ρ is identified with a partially inverted ∂f.

    Partial inversion with a sign flip, as a homeomorphism #

    Partial inversion with a sign flip on the first dual component, ((u, y), (v, x)) ↦ ((u, x), (-v, y)): the map along which ∂K is a preimage of ∂f.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      Rockafellar's ρ #

      def Tdaf.ConvexAnalysis.saddleMonotoneRel {U : Type u_1} {V : Type u_2} {X : Type u_3} {Y : Type u_4} [AddCommGroup U] [Module ℝ U] [AddCommGroup V] [Module ℝ V] [AddCommGroup X] [Module ℝ X] [AddCommGroup Y] [Module ℝ Y] (Bu : U →ₗ[ℝ] V →ₗ[ℝ] ℝ) (Bx : X →ₗ[ℝ] Y →ₗ[ℝ] ℝ) (K : U × Y → EReal) :
      SetRel (U × Y) (V × X)

      Rockafellar's ρ: the subdifferential of K with the sign of its concave half reversed, ρ (u, y) = {(-v, x) | (v, x) ∈ ∂K (u, y)}. The sign is what makes ρ monotone rather than monotone in one variable and antitone in the other.

      Equations
      Instances For
        @[simp]
        theorem Tdaf.ConvexAnalysis.mem_saddleMonotoneRel {U : Type u_1} {V : Type u_2} {X : Type u_3} {Y : Type u_4} [AddCommGroup U] [Module ℝ U] [AddCommGroup V] [Module ℝ V] [AddCommGroup X] [Module ℝ X] [AddCommGroup Y] [Module ℝ Y] {Bu : U →ₗ[ℝ] V →ₗ[ℝ] ℝ} {Bx : X →ₗ[ℝ] Y →ₗ[ℝ] ℝ} {K : U × Y → EReal} {r : (U × Y) × V × X} :
        r ∈ saddleMonotoneRel Bu Bx K ↔ (-r.2.1, r.2.2) ∈ saddleSubgradient Bu Bx.flip K r.1

        ρ as a preimage of the subdifferential of f #

        ρ is the graph of ∂f, partially inverted. The sign flip is absorbed into ρ, which is why no sign survives on the right.

        The inner-product instance #

        The same preimage description for a space paired with itself, where Bx.flip is Bx.

        noncomputable def Tdaf.ConvexAnalysis.saddleSubgradientHomeomorph {U : Type u_1} {X : Type u_2} [NormedAddCommGroup U] [InnerProductSpace ℝ U] [FiniteDimensional ℝ U] [NormedAddCommGroup X] [InnerProductSpace ℝ X] [FiniteDimensional ℝ X] {F : Bifun U X} {K : U × X → EReal} (hF : ConvexBifun F) (hcl : ClosedBifun F) (hpr : Proper (graphFn F)) (hK : K ∈ bifunSaddleClass (innerₗ U) (innerₗ X) F) :
        ↑{r : (U × X) × U × X | r.2 ∈ saddleSubgradient (innerₗ U) (innerₗ X) K r.1} ≃ₜ U × X

        The graph of ∂K is homeomorphic to U × X under ((u, y), (v, x)) ↦ (u - v, x + y): it is the graph of ∂f partially inverted, and the graph of ∂f maps onto U × X by (z, z*) ↦ z + z*.

        Equations
        Instances For
          @[simp]
          theorem Tdaf.ConvexAnalysis.saddleSubgradientHomeomorph_apply {U : Type u_1} {X : Type u_2} [NormedAddCommGroup U] [InnerProductSpace ℝ U] [FiniteDimensional ℝ U] [NormedAddCommGroup X] [InnerProductSpace ℝ X] [FiniteDimensional ℝ X] {F : Bifun U X} {K : U × X → EReal} (hF : ConvexBifun F) (hcl : ClosedBifun F) (hpr : Proper (graphFn F)) (hK : K ∈ bifunSaddleClass (innerₗ U) (innerₗ X) F) (r : ↑{r : (U × X) × U × X | r.2 ∈ saddleSubgradient (innerₗ U) (innerₗ X) K r.1}) :
          (saddleSubgradientHomeomorph hF hcl hpr hK) r = ((↑r).1.1 - (↑r).2.1, (↑r).2.2 + (↑r).1.2)

          ρ : (u, v) ↦ {(-u*, v*) | (u*, v*) ∈ ∂K (u, v)} is maximal monotone: it is the partial inversion of ∂f, partial inversion preserves the monotonicity form, and the subdifferential of a closed proper convex function is maximal monotone.

          The finite differentiable case #

          theorem Tdaf.ConvexAnalysis.lowerSimpleExt_univ {U : Type u_1} {X : Type u_2} (K : U × X → ℝ) :
          lowerSimpleExt Set.univ Set.univ K = fun (p : U × X) => ↑(K p)

          A finite saddle-function is its own lower simple extension over the whole space: the bridge between the real-valued K and the EReal-valued one.

          theorem Tdaf.ConvexAnalysis.concaveSubgradient_eq_subgradientFst {U : Type u_1} {X : Type u_2} [NormedAddCommGroup U] [InnerProductSpace ℝ U] (K : U × X → ℝ) (p : U × X) :
          concaveSubgradient (innerₗ U) (fun (u : U) => ↑(K (u, p.2))) p.1 = subgradientFst Set.univ K p

          The concave subdifferential of the EReal reading of a finite saddle-function is ∂₁K.

          theorem Tdaf.ConvexAnalysis.subgradient_eq_subgradientSnd {U : Type u_1} {X : Type u_2} [NormedAddCommGroup X] [InnerProductSpace ℝ X] (K : U × X → ℝ) (p : U × X) :
          subgradient (innerₗ X) (fun (x : X) => ↑(K (p.1, x))) p.2 = subgradientSnd Set.univ K p

          The subdifferential of the EReal reading of a finite saddle-function is ∂₂K.

          Over the whole space the EReal-valued and the real-valued ∂K are the same set; the definitions differ only in where their junk values live.

          For the EReal-valued subdifferential as well: where a finite concave-convex K has a gradient, ∂K is the single point (∇₁K, ∇₂K).

          Rockafellar's ρ for a differentiable K is the graph of (u, v) ↦ (-∇₁K (u, v), ∇₂K (u, v)).

          If K is everywhere finite and differentiable, (u, v) ↦ (-∇₁K (u, v), ∇₂K (u, v)) is maximal monotone. Differentiability collapses ∂K to a point, so ρ is the graph of that mapping; the representing bifunction comes from the lower simple extension at C = D = univ.