Banach open mapping theorem #
This file contains the Banach open mapping theorem, i.e., the fact that a bijective bounded linear map between Banach spaces has a bounded inverse.
A (possibly nonlinear) right inverse to a continuous linear map, which doesn't have to be
linear itself but which satisfies a bound βinverse xβ β€ C * βxβ
. A surjective continuous linear
map doesn't always have a continuous linear right inverse, but it always has a nonlinear inverse
in this sense, by Banach's open mapping theorem.
Instances For
Equations
- ContinuousLinearMap.instCoeFunNonlinearRightInverseForAll f = { coe := fun (fsymm : ContinuousLinearMap.NonlinearRightInverse f) => fsymm.toFun }
Given a continuous linear equivalence, the inverse is in particular an instance of
ContinuousLinearMap.NonlinearRightInverse
(which turns out to be linear).
Equations
- ContinuousLinearEquiv.toNonlinearRightInverse f = { toFun := f.invFun, nnnorm := ββ(ContinuousLinearEquiv.symm f)ββ, bound' := β―, right_inv' := β― }
Instances For
Equations
- One or more equations did not get rendered due to their size.
Proof of the Banach open mapping theorem #
First step of the proof of the Banach open mapping theorem (using completeness of F
):
by Baire's theorem, there exists a ball in E
whose image closure has nonempty interior.
Rescaling everything, it follows that any y β F
is arbitrarily well approached by
images of elements of norm at most C * βyβ
.
For further use, we will only need such an element whose image
is within distance βyβ/2
of y
, to apply an iterative process.
The Banach open mapping theorem: if a bounded linear map between Banach spaces is onto, then any point has a preimage with controlled norm.
The Banach open mapping theorem: a surjective bounded linear map between Banach spaces is open.
Applications of the Banach open mapping theorem #
A surjective continuous linear map between Banach spaces admits a (possibly nonlinear)
controlled right inverse. In general, it is not possible to ensure that such a right inverse
is linear (take for instance the map from E
to E/F
where F
is a closed subspace of E
without a closed complement. Then it doesn't have a continuous linear right inverse.)
Instances For
If a bounded linear map is a bijection, then its inverse is also a bounded linear map.
Associating to a linear equivalence between Banach spaces a continuous linear equivalence when the direct map is continuous, thanks to the Banach open mapping theorem that ensures that the inverse map is also continuous.
Equations
- LinearEquiv.toContinuousLinearEquivOfContinuous e h = { toLinearEquiv := e, continuous_toFun := h, continuous_invFun := β― }
Instances For
An injective continuous linear map with a closed range defines a continuous linear equivalence between its domain and its range.
Equations
- ContinuousLinearMap.equivRange f hinj hclo = let_fun this := β―; LinearEquiv.toContinuousLinearEquivOfContinuous (LinearEquiv.ofInjective (βf) hinj) β―
Instances For
Convert a bijective continuous linear map f : E βSL[Ο] F
from a Banach space to a normed space
to a continuous linear equivalence.
Equations
- ContinuousLinearEquiv.ofBijective f hinj hsurj = LinearEquiv.toContinuousLinearEquivOfContinuous (LinearEquiv.ofBijective βf β―) β―
Instances For
Intermediate definition used to show
ContinuousLinearMap.closed_complemented_range_of_isCompl_of_ker_eq_bot
.
This is f.coprod G.subtypeL
as a ContinuousLinearEquiv
.
Equations
Instances For
The closed graph theorem : a linear map between two Banach spaces whose graph is closed is continuous.
A useful form of the closed graph theorem : let f
be a linear map between two Banach
spaces. To show that f
is continuous, it suffices to show that for any convergent sequence
uβ βΆ x
, if f(uβ) βΆ y
then y = f(x)
.
Upgrade a LinearMap
to a ContinuousLinearMap
using the closed graph theorem.
Equations
- ContinuousLinearMap.ofIsClosedGraph hg = { toLinearMap := g, cont := β― }
Instances For
Upgrade a LinearMap
to a ContinuousLinearMap
using a variation on the
closed graph theorem.
Equations
- ContinuousLinearMap.ofSeqClosedGraph hg = { toLinearMap := g, cont := β― }