Implicit function theorem #
We prove three versions of the implicit function theorem. First we define a structure
ImplicitFunctionData
that holds arguments for the most general version of the implicit function
theorem, see ImplicitFunctionData.implicitFunction
and
ImplicitFunctionData.implicitFunction_hasStrictFDerivAt
. This version allows a user to choose a
specific implicit function but provides only a little convenience over the inverse function theorem.
Then we define HasStrictFDerivAt.implicitFunctionDataOfComplemented
: implicit function defined by
f (g z y) = z
, where f : E โ F
is a function strictly differentiable at a
such that its
derivative f'
is surjective and has a complemented
kernel.
Finally, if the codomain of f
is a finite dimensional space, then we can automatically prove
that the kernel of f'
is complemented, hence the only assumptions are HasStrictFDerivAt
and f'.range = โค
. This version is named HasStrictFDerivAt.implicitFunction
.
TODO #
- Add a version for a function
f : E ร F โ G
such that $$\frac{\partial f}{\partial y}$$ is invertible. - Add a version for
f : ๐ ร ๐ โ ๐
provingHasStrictDerivAt
andderiv ฯ = ...
. - Prove that in a real vector space the implicit function has the same smoothness as the original one.
- If the original function is differentiable in a neighborhood, then the implicit function is differentiable in a neighborhood as well. Current setup only proves differentiability at one point for the implicit function constructed in this file (as opposed to an unspecified implicit function). One of the ways to overcome this difficulty is to use uniqueness of the implicit function in the general version of the theorem. Another way is to prove that any implicit function satisfying some predicate is strictly differentiable.
Tags #
implicit function, inverse function
General version #
Consider two functions f : E โ F
and g : E โ G
and a point a
such that
- both functions are strictly differentiable at
a
; - the derivatives are surjective;
- the kernels of the derivatives are complementary subspaces of
E
.
Note that the map x โฆ (f x, g x)
has a bijective derivative, hence it is a partial homeomorphism
between E
and F ร G
. We use this fact to define a function ฯ : F โ G โ E
(see ImplicitFunctionData.implicitFunction
) such that for (y, z)
close enough to (f a, g a)
we have f (ฯ y z) = y
and g (ฯ y z) = z
.
We also prove a formula for $$\frac{\partial\varphi}{\partial z}.$$
Though this statement is almost symmetric with respect to F
, G
, we interpret it in the following
way. Consider a family of surfaces {x | f x = y}
, y โ ๐ (f a)
. Each of these surfaces is
parametrized by ฯ y
.
There are many ways to choose a (differentiable) function ฯ
such that f (ฯ y z) = y
but the
extra condition g (ฯ y z) = z
allows a user to select one of these functions. If we imagine
that the level surfaces f = const
form a local horizontal foliation, then the choice of
g
fixes a transverse foliation g = const
, and ฯ
is the inverse function of the projection
of {x | f x = y}
along this transverse foliation.
This version of the theorem is used to prove the other versions and can be used if a user needs to have a complete control over the choice of the implicit function.
Data for the general version of the implicit function theorem. It holds two functions
f : E โ F
and g : E โ G
(named leftFun
and rightFun
) and a point a
(named pt
) such that
- both functions are strictly differentiable at
a
; - the derivatives are surjective;
- the kernels of the derivatives are complementary subspaces of
E
.
- leftFun : E โ F
- rightFun : E โ G
- pt : E
- left_has_deriv : HasStrictFDerivAt self.leftFun self.leftDeriv self.pt
- right_has_deriv : HasStrictFDerivAt self.rightFun self.rightDeriv self.pt
- left_range : LinearMap.range self.leftDeriv = โค
- right_range : LinearMap.range self.rightDeriv = โค
- isCompl_ker : IsCompl (LinearMap.ker self.leftDeriv) (LinearMap.ker self.rightDeriv)
Instances For
The function given by x โฆ (leftFun x, rightFun x)
.
Equations
- ImplicitFunctionData.prodFun ฯ x = (ฯ.leftFun x, ฯ.rightFun x)
Instances For
Implicit function theorem. If f : E โ F
and g : E โ G
are two maps strictly differentiable
at a
, their derivatives f'
, g'
are surjective, and the kernels of these derivatives are
complementary subspaces of E
, then x โฆ (f x, g x)
defines a partial homeomorphism between
E
and F ร G
. In particular, {x | f x = f a}
is locally homeomorphic to G
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Implicit function theorem. If f : E โ F
and g : E โ G
are two maps strictly differentiable
at a
, their derivatives f'
, g'
are surjective, and the kernels of these derivatives are
complementary subspaces of E
, then implicitFunction
is the unique (germ of a) map
ฯ : F โ G โ E
such that f (ฯ y z) = y
and g (ฯ y z) = z
.
Equations
Instances For
Case of a complemented kernel #
In this section we prove the following version of the implicit function theorem. Consider a map
f : E โ F
and a point a : E
such that f
is strictly differentiable at a
, its derivative f'
is surjective and the kernel of f'
is a complemented subspace of E
(i.e., it has a closed
complementary subspace). Then there exists a function ฯ : F โ ker f' โ E
such that for (y, z)
close to (f a, 0)
we have f (ฯ y z) = y
and the derivative of ฯ (f a)
at zero is the
embedding ker f' โ E
.
Note that a map with these properties is not unique. E.g., different choices of a subspace
complementary to ker f'
lead to different maps ฯ
.
Data used to apply the generic implicit function theorem to the case of a strictly differentiable map such that its derivative is surjective and has a complemented kernel.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A partial homeomorphism between E
and F ร f'.ker
sending level surfaces of f
to vertical subspaces.
Equations
- HasStrictFDerivAt.implicitToPartialHomeomorphOfComplemented f f' hf hf' hker = ImplicitFunctionData.toPartialHomeomorph (HasStrictFDerivAt.implicitFunctionDataOfComplemented f f' hf hf' hker)
Instances For
Implicit function g
defined by f (g z y) = z
.
Equations
- HasStrictFDerivAt.implicitFunctionOfComplemented f f' hf hf' hker = ImplicitFunctionData.implicitFunction (HasStrictFDerivAt.implicitFunctionDataOfComplemented f f' hf hf' hker)
Instances For
HasStrictFDerivAt.implicitFunctionOfComplemented
sends (z, y)
to a point in f โปยน' z
.
Any point in some neighborhood of a
can be represented as
HasStrictFDerivAt.implicitFunctionOfComplemented
of some point.
Finite dimensional case #
In this section we prove the following version of the implicit function theorem. Consider a map
f : E โ F
from a Banach normed space to a finite dimensional space.
Take a point a : E
such that f
is strictly differentiable at a
and its derivative f'
is surjective. Then there exists a function ฯ : F โ ker f' โ E
such that for (y, z)
close to (f a, 0)
we have f (ฯ y z) = y
and the derivative of ฯ (f a)
at zero is the
embedding ker f' โ E
.
This version deduces that ker f'
is a complemented subspace from the fact that F
is a finite
dimensional space, then applies the previous version.
Note that a map with these properties is not unique. E.g., different choices of a subspace
complementary to ker f'
lead to different maps ฯ
.
Given a map f : E โ F
to a finite dimensional space with a surjective derivative f'
,
returns a partial homeomorphism between E
and F ร ker f'
.
Equations
- HasStrictFDerivAt.implicitToPartialHomeomorph f f' hf hf' = HasStrictFDerivAt.implicitToPartialHomeomorphOfComplemented f f' hf hf' (_ : Submodule.ClosedComplemented (LinearMap.ker f'))
Instances For
Implicit function g
defined by f (g z y) = z
.
Equations
- HasStrictFDerivAt.implicitFunction f f' hf hf' = Function.curry โ(PartialHomeomorph.symm (HasStrictFDerivAt.implicitToPartialHomeomorph f f' hf hf'))
Instances For
HasStrictFDerivAt.implicitFunction
sends (z, y)
to a point in f โปยน' z
.
Any point in some neighborhood of a
can be represented as HasStrictFDerivAt.implicitFunction
of some point.