Documentation

QuantumInfo.ForMathlib.Minimax

theorem IsCompact.exists_isMinOn_lowerSemicontinuousOn {α : Type u_1} {β : Type u_2} [LinearOrder α] [TopologicalSpace α] [TopologicalSpace β] [ClosedIicTopology α] {s : Set β} (hs : IsCompact s) (ne_s : s.Nonempty) {f : βα} (hf : LowerSemicontinuousOn f s) :
xs, IsMinOn f s x
theorem LinearMap.quasilinearOn {E : Type u_1} {β : Type u_2} {𝕜 : Type u_3} [Semiring 𝕜] [PartialOrder 𝕜] [AddCommMonoid E] [Module 𝕜 E] [PartialOrder β] [AddCommMonoid β] [IsOrderedAddMonoid β] [Module 𝕜 β] [PosSMulMono 𝕜 β] (f : E →ₗ[𝕜] β) {s : Set E} (hs : Convex 𝕜 s) :
QuasilinearOn 𝕜 s f
theorem LinearMap.quasiconvexOn {E : Type u_1} {β : Type u_2} {𝕜 : Type u_3} [Semiring 𝕜] [PartialOrder 𝕜] [AddCommMonoid E] [Module 𝕜 E] [PartialOrder β] [AddCommMonoid β] [IsOrderedAddMonoid β] [Module 𝕜 β] [PosSMulMono 𝕜 β] (f : E →ₗ[𝕜] β) {s : Set E} (hs : Convex 𝕜 s) :
QuasiconvexOn 𝕜 s f
theorem LinearMap.quasiconcaveOn {E : Type u_1} {β : Type u_2} {𝕜 : Type u_3} [Semiring 𝕜] [PartialOrder 𝕜] [AddCommMonoid E] [Module 𝕜 E] [PartialOrder β] [AddCommMonoid β] [IsOrderedAddMonoid β] [Module 𝕜 β] [PosSMulMono 𝕜 β] (f : E →ₗ[𝕜] β) {s : Set E} (hs : Convex 𝕜 s) :
QuasiconcaveOn 𝕜 s f
theorem continuous_stupid {M : Type u_1} [inst : NormedAddCommGroup M] [inst_1 : Module M] [inst_3 : ContinuousSMul M] {N : Type u_2} [inst_4 : NormedAddCommGroup N] [inst_5 : Module N] [FiniteDimensional M] (f : N →L[] M →L[] ) :
Continuous fun (x : N × M) => (f x.1) x.2
theorem minimax {M : Type u_1} [NormedAddCommGroup M] [Module M] [ContinuousAdd M] [ContinuousSMul M] [FiniteDimensional M] {N : Type u_2} [NormedAddCommGroup N] [Module N] [ContinuousAdd N] [ContinuousSMul N] (f : N →L[] M →L[] ) (S : Set M) (T : Set N) (hS₁ : IsCompact S) (hT₁ : IsCompact T) (hS₂ : Convex S) (hT₂ : Convex T) (hS₃ : S.Nonempty) (hT₃ : T.Nonempty) :
⨅ (x : T), ⨆ (y : S), (f x) y = ⨆ (y : S), ⨅ (x : T), (f x) y

The minimax theorem, at the level of generality we need. For convex, compact, nonempty sets S and Tin a real topological vector space M, and a bilinear function f on M, we can exchange the order of minimizing and maximizing.

theorem LinearMap.BilinForm.minimax {M : Type u_1} [NormedAddCommGroup M] [Module M] [ContinuousAdd M] [ContinuousSMul M] [FiniteDimensional M] (f : LinearMap.BilinForm M) (S T : Set M) (hS₁ : IsCompact S) (hT₁ : IsCompact T) (hS₂ : Convex S) (hT₂ : Convex T) (hS₃ : S.Nonempty) (hT₃ : T.Nonempty) :
⨅ (x : T), ⨆ (y : S), (f x) y = ⨆ (y : S), ⨅ (x : T), (f x) y

Von-Neumann's Minimax Theorem, specialized to bilinear forms.

theorem LinearMap.BilinForm.minimax' {M : Type u_1} [NormedAddCommGroup M] [Module M] [ContinuousAdd M] [ContinuousSMul M] [FiniteDimensional M] (f : LinearMap.BilinForm M) (S T : Set M) (hS₁ : IsCompact S) (hT₁ : IsCompact T) (hS₂ : Convex S) (hT₂ : Convex T) (hS₃ : S.Nonempty) (hT₃ : T.Nonempty) :
⨆ (x : S), ⨅ (y : T), (f x) y = ⨅ (y : T), ⨆ (x : S), (f x) y

Convenience form of LinearMap.BilinForm.minimax with the order inf/sup arguments supplied to f flipped.