---
title: The Inverse and Implicit Function Theorems
module: Functions of Several Variables (Introduction)
moduleNumber: 8
lessonNumber: 4
order: 804
summary: >
  A nonlinear map with a nonsingular Jacobian is locally invertible, with the
  inverse's derivative given by the inverse matrix. The contraction mapping
  principle supplies the local inverse; the implicit function theorem then solves
  a system for some variables in terms of the rest whenever the relevant Jacobian
  block is invertible. Worked coordinate changes show both theorems in use.
topics: [Functions of Several Variables (Introduction)]
sources:
  - book: Shkoller
    ref: "Ch. 3 — Inverse and Implicit Function Theorems; §3.2–3.3 Contraction mapping; §3.5 Inverse function theorem"
  - book: Rosenlicht
    ref: "Ch. 9 — Functions of several variables"
draft: false
---

A linear system $A x = y$ has a unique solution for every $y$ exactly when the
matrix $A$ is nonsingular, $\det A \neq 0$. The several-variable calculus asks the
same question of a nonlinear system

$$
f_1(x_1, \dots, x_n) = y_1, \quad \dots, \quad f_n(x_1, \dots, x_n) = y_n,
$$

and the answer, locally, is governed by the same determinant condition applied to
the [derivative](/real-analysis/several-variables/differentiability-rn). The
object playing the role of $\det A$ is the **Jacobian determinant** $\det Df(x)$.
Where it is nonzero, the best linear approximation $Df(x)$ is invertible, and the
inverse function theorem guarantees that $f$ itself is invertible on a small
neighborhood.

## The contraction mapping principle

Both theorems rest on one fixed-point result. A map $T$ on a complete metric
space that uniformly shrinks distances has exactly one fixed point, reached as
the limit of iterating $T$ from any starting point.

> **Theorem (Contraction mapping principle).** Let $X$ be a complete metric space
> and $T : X \to X$ a **contraction**: there is a constant $0 \le \lambda < 1$
> with $d(T(f), T(g)) \le \lambda\, d(f, g)$ for all $f, g \in X$. Then $T$ has a
> unique fixed point $f_0$, and the successive approximations
> $f, T(f), T^2(f), \dots$ converge to it from any starting point $f$.

This is the same principle that produces solutions of differential equations by
[Picard iteration](/real-analysis/function-sequences/picard-ode); here it produces
a local inverse instead. The iterates form a Cauchy sequence because consecutive
gaps shrink geometrically, $d(f_{n+1}, f_n) \le \lambda^n d(f_1, f_0)$, and
completeness supplies the limit, which continuity of $T$ pins as the fixed point.

$$
% caption: A contraction pulls every point toward its unique fixed point; the
% iterates $T^k(f)$ close in geometrically fast from any starting guess.
\begin{tikzpicture}[>=stealth, font=\footnotesize, scale=1.0]
  \definecolor{acc}{HTML}{4A6FA5}
  % fixed point
  \fill[acc] (5.2,0.6) circle (2.4pt);
  \node[acc, anchor=west] at (5.35,0.6) {f\/ixed point};
  % iterates spiraling in
  \coordinate (a0) at (0.4,1.9);
  \coordinate (a1) at (2.6,-0.5);
  \coordinate (a2) at (3.9,1.35);
  \coordinate (a3) at (4.7,0.05);
  \coordinate (a4) at (5.0,0.85);
  \draw[->, black, thick] (a0) -- (a1);
  \draw[->, black, thick] (a1) -- (a2);
  \draw[->, black, thick] (a2) -- (a3);
  \draw[->, black, thick] (a3) -- (a4);
  \foreach \p/\lab in {a0/{$f$}, a1/{$T f$}, a2/{$T^2 f$}, a3/{$T^3 f$}} {
    \fill[black] (\p) circle (1.7pt);
  }
  \node[black, anchor=south east] at (a0) {$f$};
  \node[black, anchor=north] at (a1) {$T f$};
  \node[black, anchor=south] at (a2) {$T^2 f$};
  \node[black, anchor=north] at (a3) {$T^3 f$};
\end{tikzpicture}
$$

## The inverse function theorem

If $f : \mathbb{R}^n \to \mathbb{R}^n$ is differentiable at $x_0$ with
$\det Df(x_0) \neq 0$, then $Df(x_0)$ is an invertible linear map. Geometrically,
the best linear approximation to $f$ at $x_0$ is a linear isomorphism, and the
theorem says the nonlinear $f$ inherits invertibility on a neighborhood.

> **Theorem (Inverse function theorem).** Let $A \subseteq \mathbb{R}^n$ be open,
> $f \in C^1(A; \mathbb{R}^n)$, and $\det Df(x_0) \neq 0$ at some $x_0 \in A$. Then
> there are open neighborhoods $U$ of $x_0$ and $W$ of $f(x_0)$ with $f(U) = W$
> such that $f$ has a $C^1$ inverse $f^{-1} : W \to U$. Moreover, for $y \in W$
> with $x = f^{-1}(y)$,
>
> $$
> Df^{-1}(y) = \bigl[ Df(x) \bigr]^{-1}.
> $$

The derivative formula is forced by the chain rule: differentiating
$f^{-1}(f(x)) = x$ gives $Df^{-1}(f(x)) \cdot Df(x) = I$, so $Df^{-1}$ is the
matrix inverse of $Df$. This is the several-variable form of the one-variable
identity $(f^{-1})'(y) = 1 / f'(x)$ from the
[inverse function theorem in one variable](/real-analysis/differentiation/inverse-function-1d):
reciprocal becomes matrix inverse.

$$
% caption: A nonsingular Jacobian at $x_0$ makes $f$ a bijection between a
% neighborhood $U$ of $x_0$ and a neighborhood $W$ of $f(x_0)$, with a $C^1$ inverse.
\begin{tikzpicture}[>=stealth, font=\footnotesize, scale=1.0]
  \definecolor{acc}{HTML}{4A6FA5}
  % U
  \draw[black] (0,0) ellipse (1.7 and 1.2);
  \node[black, anchor=south] at (0,1.25) {$U$};
  \fill[black] (-0.2,0.05) circle (1.7pt);
  \node[black, anchor=north] at (-0.2,-0.05) {$x_0$};
  % W
  \begin{scope}[xshift=6cm]
    \draw[acc] (0,0) ellipse (1.9 and 1.2);
    \node[acc, anchor=south] at (0,1.25) {$W$};
    \fill[acc] (0.2,0.05) circle (1.7pt);
    \node[acc, anchor=north] at (0.2,-0.05) {$f(x_0)$};
  \end{scope}
  % forward arrow
  \draw[->, black, thick] (1.9,0.35) .. controls (3,0.9) and (4.2,0.9) .. (5.2,0.35);
  \node[black, anchor=south] at (3.55,0.8) {$f$};
  % inverse arrow
  \draw[->, acc, thick] (5.0,-0.35) .. controls (4,-0.9) and (2.9,-0.9) .. (1.9,-0.35);
  \node[acc, anchor=north] at (3.45,-0.8) {inverse};
\end{tikzpicture}
$$

**Local, not global.** The theorem is local. Two failures show why.

- **Vanishing Jacobian.** If $\det Df(x_0) = 0$, the theorem says nothing, and $f$
  may fail to be invertible: $f(x) = x^2$ on $\mathbb{R}$ has $f'(0) = 0$ and is
  not injective near $0$. (A nonzero derivative is sufficient but not necessary:
  $f(x) = x^3$ is invertible near $0$ despite $f'(0) = 0$.)
- **Nonsingular everywhere, still not global.** For
  $f(x, y) = (e^x \cos y,\ e^x \sin y)$, the Jacobian determinant is
  $e^{2x} \neq 0$ at every point, so $f$ is locally invertible everywhere. But $f$
  is $2\pi$-periodic in $y$, hence not injective on $\mathbb{R}^2$. Local
  invertibility does not add up to global invertibility.

$$
% caption: $(x,y)\mapsto(e^x\cos y, e^x\sin y)$ is locally invertible everywhere yet
% not injective: $P=(x,y)$ and $Q=(x,y+2\pi)$ land on the same image point.
\begin{tikzpicture}[>=stealth, font=\footnotesize, scale=1.0]
  \definecolor{acc}{HTML}{4A6FA5}
  \begin{scope}
    \draw[black, ->] (-0.3,0) -- (2.6,0) node[right] {$x$};
    \draw[black, ->] (0,-0.3) -- (0,3.3) node[above] {$y$};
    \draw[black] (1.4,0.2) -- (1.4,3.05);
    \fill[black] (1.4,0.7) circle (1.8pt);
    \node[black, anchor=west] at (1.5,0.7) {P};
    \fill[black] (1.4,2.7) circle (1.8pt);
    \node[black, anchor=west] at (1.5,2.7) {Q};
  \end{scope}
  \draw[->, black, very thick] (3.2,1.5) -- (4.4,1.5);
  \node[black, anchor=south] at (3.8,1.55) {f};
  \begin{scope}[xshift=7.0cm, yshift=1.5cm]
    \draw[black] (0,0) circle (1.3);
    \draw[black, ->] (-1.8,0) -- (2.0,0);
    \draw[black, ->] (0,-1.8) -- (0,2.0);
    \fill[acc] ({1.3*cos(40)},{1.3*sin(40)}) circle (2.2pt);
    \node[acc, anchor=south west] at ({1.3*cos(40)},{1.3*sin(40)}) {image of P and Q};
    \node[black, anchor=north] at (0,-1.4) {circle radius $e^x$};
  \end{scope}
\end{tikzpicture}
$$

> **Example (local solvability of a system).** For
> $f(x, y) = \bigl( (x^4 + y^4)/x,\ \sin x + \cos y \bigr)$ on $\{x \neq 0\}$,
> $$
> Df(x, y) = \begin{pmatrix} (3x^4 - y^4)/x^2 & 4y^3/x \\ \cos x & -\sin y \end{pmatrix},
> \quad
> \det Df = \frac{\sin y}{x^2}(y^4 - 3x^4) - \frac{4y^3}{x}\cos x.
> $$
> The system $f(x,y) = (u, v)$ is locally solvable near any $(x_0, y_0)$ with
> $x_0 \neq 0$ and $\det Df(x_0, y_0) \neq 0$; the point $(\pi/2, \pi/2)$ is one
> such.

> **Worked example (polar coordinates).** The polar map
> $T(r, \theta) = (r\cos\theta,\ r\sin\theta)$ from $(0, \infty) \times \mathbb{R}$
> to $\mathbb{R}^2$ has Jacobian
>
> $$
> DT(r, \theta) = \begin{pmatrix} \cos\theta & -r\sin\theta \\ \sin\theta & r\cos\theta \end{pmatrix},
> \qquad \det DT = r\cos^2\theta + r\sin^2\theta = r.
> $$
>
> Since $\det DT = r > 0$, the inverse function theorem gives a $C^1$ local inverse
> at every point: on any strip $\theta_0 < \theta < \theta_0 + 2\pi$ the inverse is
> $r = \sqrt{x^2 + y^2}$ with $\theta$ the polar angle. At $r = 0$ the Jacobian is
> singular and $\theta$ is undefined, so no local inverse exists there — the
> coordinate singularity at the origin.

$$
% caption: The polar map carries the rectangular $(r,\theta)$ grid to concentric
% arcs and radial rays; its Jacobian determinant is $r$, vanishing only at $r=0$.
\begin{tikzpicture}[>=stealth, font=\footnotesize, scale=1.0]
  \definecolor{acc}{HTML}{4A6FA5}
  \begin{scope}
    \draw[black, ->] (0,0) -- (2.7,0) node[right] {$r$};
    \draw[black, ->] (0,0) -- (0,2.7) node[above] {angle};
    \foreach \r in {0.7,1.3,1.9} \draw[black] (\r,0.4) -- (\r,2.2);
    \foreach \t in {0.6,1.1,1.6,2.1} \draw[black] (0.6,\t) -- (2.1,\t);
    \node[black, anchor=north] at (1.35,-0.05) {domain};
  \end{scope}
  \draw[->, black, very thick] (3.2,1.1) -- (4.4,1.1);
  \node[black, anchor=south] at (3.8,1.15) {T};
  \begin{scope}[xshift=7.2cm]
    \foreach \rr in {0.7,1.4,2.1,2.6} \draw[black] (\rr,0) arc (0:75:\rr);
    \foreach \aa in {12,32,52,72} \draw[black] ({0.7*cos(\aa)},{0.7*sin(\aa)}) -- ({2.6*cos(\aa)},{2.6*sin(\aa)});
    \fill[acc] (0,0) circle (1.6pt);
    \node[acc, anchor=north east] at (0,0) {origin};
    \node[black, anchor=west] at (1.7,0.5) {image};
  \end{scope}
\end{tikzpicture}
$$

### Constructing the inverse by contraction

The proof reduces to a fixed-point problem. After a linear change of variables one
may assume $x_0 = 0$, $f(x_0) = 0$, and $Df(0) = I$. To solve $f(x) = y$ for a
given small $y$, define

$$
g_y(x) = y + x - f(x).
$$

A point $x$ solves $g_y(x) = x$ if and only if it solves $f(x) = y$. Writing
$g(x) = x - f(x)$, the hypothesis $Df(0) = I$ gives $Dg(0) = 0$, and continuity of
$Dg$ makes $g$ shrink distances by a factor $\tfrac12$ on a small ball $B(0, r)$.
Then $g_y$ maps $B(0, r)$ into itself for $\lVert y \rVert < r/2$ and is a
contraction, so it has a unique fixed point — the sought $x = f^{-1}(y)$. Continuity
and then differentiability of $f^{-1}$ follow from the bound $\lVert x_1 - x_2
\rVert \le 2 \lVert f(x_1) - f(x_2) \rVert$ and the fact that matrix inversion is a
smooth operation on the open set of invertible matrices.

The two supporting facts about the space of matrices are used repeatedly and worth
stating.

> **Lemma (Invertible matrices form an open set).** The set $GL(\mathbb{R}^n)$ of
> invertible $n \times n$ matrices is open in the space of all $n \times n$
> matrices, and $B \mapsto B^{-1}$ is a $C^\infty$ map on it.

Openness holds because $\det$ is continuous and $GL(\mathbb{R}^n)$ is the preimage
of the nonzero reals; smoothness of inversion holds because
$B^{-1} = (\det B)^{-1}[\operatorname{Cof} B]^{\mathsf T}$ has entries that are
polynomials in the entries of $B$ divided by the nonvanishing $\det B$. These are
what let the proof conclude that $[Df(x)]^{-1}$ varies continuously with $x$, so
$f^{-1}$ is genuinely $C^1$.

## The implicit function theorem

The inverse function theorem solves $f(x) = y$ for all the unknowns at once. Often
one instead has a single relation among several variables and wants to solve for
_some_ of them in terms of the rest — to know when a level set is locally the graph
of a function. That is the implicit function theorem.[^rosen-implicit]

Consider $F : \mathbb{R}^{n} \times \mathbb{R}^{m} \to \mathbb{R}^{m}$, written
$F(x, y)$ with $x \in \mathbb{R}^n$ and $y \in \mathbb{R}^m$, and the solution set
$\{ (x, y) : F(x, y) = 0 \}$. Split the Jacobian of $F$ into the block $D_x F$ of
partials in the $x$-variables and the square block $D_y F$ of partials in the
$y$-variables.

> **Theorem (Implicit function theorem).** Let $F$ be $C^1$ near a point
> $(a, b)$ with $F(a, b) = 0$, and suppose the $m \times m$ block $D_y F(a, b)$ is
> invertible. Then there are neighborhoods of $a$ and $b$ and a unique $C^1$ map
> $y = g(x)$ with $g(a) = b$ such that $F(x, g(x)) = 0$ for all $x$ near $a$.
> Its derivative is
>
> $$
> Dg(x) = -\bigl[ D_y F(x, g(x)) \bigr]^{-1} D_x F(x, g(x)).
> $$

The proof is the inverse function theorem in disguise: apply it to the auxiliary
map $\Phi(x, y) = (x,\ F(x, y))$, whose Jacobian is invertible exactly when
$D_y F$ is, and read off $g$ from the inverse. The derivative formula then comes
from differentiating the identity $F(x, g(x)) = 0$ with the chain rule:
$D_x F + D_y F \cdot Dg = 0$.

$$
% caption: Where the tangent is non-vertical the level set $F = 0$ is locally the
% graph $y = g(x)$; at a point with vertical tangent, $y$ cannot be solved for.
\begin{tikzpicture}[>=stealth, font=\footnotesize, scale=1.0]
  \definecolor{acc}{HTML}{4A6FA5}
  \draw[black, ->] (-2.6,0) -- (2.6,0) node[right] {$x$};
  \draw[black, ->] (0,-2.2) -- (0,2.2) node[above] {$y$};
  % a closed curve F=0 (circle-ish)
  \draw[black, thick] (0,0) circle (1.8);
  \node[black, anchor=east] at (-1.85,0.9) {level set $F = 0$};
  % good point: y solvable, graph patch
  \fill[acc] ({1.8*cos(55)},{1.8*sin(55)}) circle (1.9pt);
  \draw[acc, thick] ({1.8*cos(55)-0.7},{1.8*sin(55)+0.35}) -- ({1.8*cos(55)+0.7},{1.8*sin(55)-0.35});
  \node[acc, anchor=south west] at ({1.8*cos(55)},{1.8*sin(55)+0.1}) {$y = g(x)$ here};
  % bad point: vertical tangent
  \fill[black] (1.8,0) circle (1.9pt);
  \draw[black, thick] (1.8,-0.75) -- (1.8,0.75);
  \node[black, anchor=west] at (1.9,-0.5) {vertical tangent};
\end{tikzpicture}
$$

The geometric reading: $D_y F(a,b)$ invertible means the level set is not vertical
in the $y$-directions at $(a, b)$, so locally it projects one-to-one onto the
$x$-space and is the graph of $g$. At a point where $D_y F$ is singular, a
vertical tangent, the level set may fold back and fail to be a graph, exactly as
a circle cannot be written $y = g(x)$ near its leftmost and rightmost points.

> **Worked example (implicit differentiation on a circle).** Let
> $F(x, y) = x^2 + y^2 - 1$, whose zero set is the unit circle. Here $D_y F = 2y$,
> invertible wherever $y \neq 0$, and near such a point the circle is a graph
> $y = g(x)$ with derivative
>
> $$
> Dg(x) = -\bigl[ D_y F \bigr]^{-1} D_x F = -\frac{2x}{2y} = -\frac{x}{y}.
> $$
>
> At $\bigl( \tfrac{1}{2},\ \tfrac{\sqrt{3}}{2} \bigr)$ this is
> $g'\!\left(\tfrac{1}{2}\right) = -\tfrac{1}{\sqrt{3}}$, agreeing with the direct
> derivative of $g(x) = \sqrt{1 - x^2}$. At $(\pm 1, 0)$, where $D_y F = 0$, the
> tangent is vertical and $y$ cannot be solved for $x$.

> **Worked example (a coordinate change).** For $u = x^2 - y^2$, $v = 2xy$, the map
> $(x, y) \mapsto (u, v)$ has
>
> $$
> \det Df = \det \begin{pmatrix} 2x & -2y \\ 2y & 2x \end{pmatrix} = 4(x^2 + y^2),
> $$
>
> nonzero away from the origin. So the map is locally invertible at every
> $(x, y) \neq (0, 0)$, and $(x, y)$ can be recovered as $C^1$ functions of $(u, v)$
> near any such point, the local statement behind the complex-square coordinate
> change $z \mapsto z^2$.

## Summary

The two theorems share one hypothesis and one tool: a nonsingular Jacobian, the
linear-algebra fact that a matrix is invertible, and the contraction mapping
principle, the analysis fact that shrinking maps have fixed points. Wherever the
derivative is invertible, the map is locally invertible, and the nonlinear system
can be solved for the corresponding variables.[^sh-inverse]

| Theorem | Solves | Hypothesis | Conclusion |
| --- | --- | --- | --- |
| Inverse function | $f(x) = y$ for all of $x$ | $\det Df(x_0) \neq 0$ | local $C^1$ inverse $f^{-1}$, $Df^{-1} = [Df]^{-1}$ |
| Implicit function | $F(x, y) = 0$ for $y$ | $D_y F(a, b)$ invertible | local $C^1$ solution $y = g(x)$ |

[^sh-inverse]: **Shkoller**, _MAT125B Lecture Notes_, §3.2–3.3 (contraction mapping principle, Theorems 3.9–3.10) and §3.5 (inverse function theorem 3.15 with the $g_y(x) = y + x - f(x)$ construction, and Lemma 3.20 on $GL(\mathbb{R}^n)$; Examples 3.16–3.17).
[^rosen-implicit]: **Rosenlicht**, _Introduction to Analysis_, Ch. 9 — Functions of several variables: the implicit function theorem and its derivation from the inverse function theorem, with the block-Jacobian condition $D_y F$ invertible.
