# Teorema delle funzioni implicite

In matematica, in particolare in analisi matematica e geometria, il teorema delle funzioni implicite è un importante strumento che stabilisce quando il luogo di zeri di un'equazione implicita si può esplicitare rispetto a una variabile.
Nella letteratura italiana, il teorema è generalmente detto teorema di Dini in onore del matematico Ulisse Dini, che contribuì ad estenderne la formulazione.

## Il teorema di Dini

Il teorema di Dini stabilisce che una funzione reale di classe $C^{1}$ di due variabili del tipo:
    $F(x,y)$
definisce implicitamente un'unica funzione del tipo:
    $y=f(x)$
in un intorno di un punto $(a,b)$ tale che (esplicitando rispetto alla variabile y):
    $F(a,b)=0,\qquad {\frac {\partial F}{\partial y}}(a,b)\neq 0.$
Il teorema di Dini fornisce quindi una condizione sufficiente affinché esista un'unica funzione $y=f(x)$ tale che
    $F(x,f(x))=0$
sia soddisfatta al variare di $x$, oppure un'unica funzione $x=g(y)$ tale che
    $F(g(y),y)=0$
sia soddisfatta al variare di $y$.
Questo non significa che sia possibile esplicitare una delle due incognite in funzione dell'altra, ossia che sia possibile trovare $y=f(x)$ oppure $x=g(y)$ in forma esplicita, ma mostra piuttosto che esiste almeno una delle due funzioni, detta funzione implicita.
Se ci si limita all'individuazione di particolari tipi di funzione, ad esempio quelle continue e definite su un intervallo, si può dimostrare anche la loro unicità, il che sancisce un'equivalenza formale tra la scrittura implicita $F(x,y)=0$ e quella esplicita $y=f(x)$ oppure $x=g(y)$. Ad esempio, l'equazione:
    $F(x,y)=y+x^{2}e^{y}=0$
ben definisce un'unica funzione continua $y=f(x)$ definita per ogni $x$ reale, che tuttavia non può essere scritta esplicitamente.

### Enunciato

Sia $F\colon G\subset \mathbb {R} ^{2}\to \mathbb {R}$ una funzione a valori reali, differenziabile e le cui derivate parziali prime siano funzioni continue. Sia inoltre $(x_{0},y_{0})\in G$ tale che:
    $F(x_{0},y_{0})=0,\qquad {\frac {\partial F}{\partial y}}(x_{0},y_{0})\neq 0.$
Il teorema afferma che esiste una funzione derivabile reale:
    $g\colon [x_{0}-h,x_{0}+h]\to [y_{0}-k,y_{0}+k],\qquad h,k>0,\quad h,k\in \mathbb {R} ,$
la cui derivata prima sia continua. Inoltre, il grafico di $g$ è l'insieme delle coppie:
    $\{(x,y)\in G:F(x,y)=0\}$
che sono contenute nel rettangolo:
    $[x_{0}-h,x_{0}+h]\times [y_{0}-k,y_{0}+k].$

## Il teorema in due dimensioni

Si consideri una funzione di classe C$^1$ $F\colon A\to \mathbb {R}$ definita su un insieme aperto $A\subseteq \mathbb {R} ^{2}$, e si consideri l'insieme:
    $Z=\{(x,y)\in A:F(x,y)=0\}.$
Se $Z$ è non vuoto esiste un punto $(x_{0},y_{0})$ tale che:
    $F(x_{0},y_{0})=0.$
Il teorema afferma che se $(x_{0},y_{0})$ non è un punto critico, ossia:
    $\nabla F(x_{0},y_{0})\neq 0,$
allora esiste un intorno $U$ di $(x_{0},y_{0})$ tale che l'insieme $Z\cap U$ è il grafico di una funzione derivabile.
Questo equivale a dire che esiste un'unica funzione del tipo $y=y(x)$ o del tipo $x=x(y)$ che mette in relazione le due incognite $x$ e $y$. Si noti che questo non significa che è davvero possibile esplicitare una delle due variabili in funzione dell'altra, ma solo che l'equazione definisce implicitamente un legame tra le due incognite che è univoco.
Sia $g\colon A\subset \mathbb {R} ^{2}\rightarrow \mathbb {R}$ una funzione di classe ${\mathcal {C}}^{1}$ nell'aperto $A$ e sia $(x_{0},y_{0})\in A$ tale che:
    $g(x_{0},y_{0})=0,\qquad g_{y}(x_{0},y_{0})\neq 0.$
Allora esistono un intervallo reale aperto $I$, con $x_{0}\in I$, un intervallo reale aperto $J$, con $y_{0}\in J$, ed una funzione $y(x)$ di classe ${\mathcal {C}}^{1}$ in $I$ a valori in $J$ tali che:
    $y(x_{0})=y_{0},\qquad y'(x_{0})=-\left({\frac {g_{x}(x_{0},y_{0})}{g_{y}(x_{0},y_{0})}}\right)$
e tali che per ogni $x\in I,y\in J$ la relazione:
    $g(x,y)=0$
si verifica se e solo se:
    $y=y(x).$
Scambiando i ruoli delle variabili si giunge a definire una funzione $x=x(y)$.

## Dimostrazioni
### Prima dimostrazione

Sia data una funzione continua $g\colon A\subset \mathbb {R} ^{2}\to \mathbb {R}$ di classe ${\mathcal {C}}^{1}$ in $A$ tale che $\nabla g(x,y)\neq 0$ in tutti i punti tali che $g(x,y)=0$, cioè nella curva di livello:
    $V=\{(x,y)\in A:g(x,y)=0\}.$
Sia $(x_{0},y_{0})$ un punto di $V$ e si consideri il relativo sviluppo al primo ordine di Taylor:
    $g(x,y)=g(x_{0},y_{0})+g_{x}(x_{0},y_{0})(x-x_{0})+g_{y}(x_{0},y_{0})(y-y_{0})+o({\sqrt {(x-x_{0})^{2}+(y-y_{0})^{2}}}).$
Tenendo conto che $g(x_{0},y_{0})=0$, uguagliando a zero la prima parte del termine al primo ordine si ottiene:
    $g_{x}(x_{0},y_{0})(x-x_{0})+g_{y}(x_{0},y_{0})(y-y_{0})=0.$
Per ipotesi, tale equazione di primo grado ha almeno un coefficiente diverso da zero, e si può porre $g_{y}(x_{0},y_{0})\neq 0$. Si può quindi ricavare $y$ in funzione di $x$:
    $y=y_{0}-{\frac {g_{x}(x_{0},y_{0})}{g_{y}(x_{0},y_{0})}}(x-x_{0}).$
Il teorema mostra che l'errore nella formula di approssimazione al primo ordine non incide sulla possibilità di esprimere una variabile in funzione dell'altra.
La funzione ottenuta ha sviluppo al primo ordine:
    $y=y_{0}-{\frac {g_{x}(x_{0},y_{0})}{g_{y}(x_{0},y_{0})}}(x-x_{0})+o(x-x_{0}).$

### Seconda dimostrazione (teorema delle contrazioni)

Sia data una funzione continua $g\colon A\subseteq \mathbb {R} ^{2}\rightarrow \mathbb {R}$ di classe ${\mathcal {C}}^{1}$ nell'aperto $A$ tale che per $(x_{0},y_{0})\in A$ si abbia
    ${\begin{aligned}g(x_{0},y_{0})=0,\qquad g_{y}(x_{0},y_{0})\neq 0\end{aligned}}.$
Sia definita la funzione
    ${\begin{aligned}G(x,y)=y-{\frac {g(x,y)}{g_{y}(x_{0},y_{0})}}\end{aligned}}.$
Allora $G(x_{0},y_{0})=y_{0}$ e $G(x,y)=y$ per $(x,y)\in I\times J$. Dunque trovare gli zeri di $g(x,y)$ si riduce a trovare il punto fisso della funzione $G(x,y)$.
Grazie al teorema delle contrazioni sappiamo che, definito
    $X=\{\psi \colon I\rightarrow J\;|\;\psi \in {\mathcal {C}}^{0}\}.$
Siccome $G\in X$, $(X,\lVert \cdot \lVert _{\infty })$ è facile dimostrare che sia uno spazio metrico completo, allora
    $\exists !\;y=f(x):G(x,f(x))=f(x).$
Sia $H\colon X\rightarrow X$ una contrazione tale che
    $w\mapsto H[w](x)=G(x,w(x))$
ci basta dimostrare che $H$ sia ben definita, cioè che $H[w]\in X$. Questa deve avere le seguenti proprietà:
* $H[w]$ è continua in $I;$
* $\lVert H[w]-y_{0}\rVert _{\infty }\leq \varepsilon .$
La prima è ovvia siccome l'operatore è composizione di funzioni continue. La seconda può essere dimostrata tramite una catena di disuguaglianze:
    ${\begin{aligned}&\lVert H[w]-y_{0}\rVert _{\infty }=\lVert G(x,w(x))-G(x_{0},y_{0})\lVert _{\infty }\leq \lVert G(x,w(x))-G(x,y_{0})\lVert _{\infty }+\lVert G(x,y_{0})-G(x_{0},y_{0})\lVert _{\infty }=\\[10pt]&=\lVert G(x,w(x))-G(x,y_{0})\lVert _{\infty }+\lVert y_{0}-{\frac {g(x,y_{0})}{g_{y}(x_{0},y_{0})}}-y_{0}\lVert _{\infty }\leq \lVert G_{y}(x,\xi _{y})(w(x)-y_{0})\lVert _{\infty }+{\frac {\lVert g(x,y_{0})\lVert _{\infty }}{|g_{y}(x_{0},y_{0})|}}\leq \\[10pt]&\leq {\underset {\xi _{y}\in J}{\sup }}|G_{y}(x,\xi _{y})|\lVert w(x)-y_{0}\lVert _{\infty }+{\frac {\lVert g(x,y_{0})\lVert _{\infty }}{|g_{y}(x_{0},y_{0})|}}\leq \varepsilon ,\end{aligned}}$
dove si è applicato il teorema di Lagrange ed il fatto che
    ${\begin{aligned}&{\underset {\xi _{y}\in J}{\sup }}G_{y}(x,\xi _{y})\leq {1 \over 2}\;\;{\text{ poiché }}h,k\;{\text{ possono essere piccoli a piacimento}}\\[10pt]&\lVert w(x)-y_{0}\lVert _{\infty }\leq \varepsilon \;\;{\text{ poiché }}w(x)\in X\\[10pt]&{\frac {\lVert g(x,y_{0})\lVert _{\infty }}{|g_{y}(x_{0},y_{0})|}}\leq {\varepsilon \over 2}.\end{aligned}}$
Ora basta dimostrare che $H$ sia una contrazione:
    $\lVert H[w]-H[v]\lVert _{\infty }=\lVert G(x,w(x))-G(x,h(x))\lVert _{\infty }\leq {\underset {\xi \in J}{\sup }}|G(x,\xi )|\lVert w-v\lVert _{\infty }\leq {1 \over 2}\lVert w-v\lVert _{\infty }.$

## Il teorema in più dimensioni

Sia $\mathbf {f} \colon E\subset \mathbb {R} ^{n+m}\rightarrow \mathbb {R} ^{n}$ una funzione di classe ${\mathcal {C}}^{1}$, dove $\mathbb {R} ^{n+m}$ è il prodotto cartesiano $\mathbb {R} ^{n}\times \mathbb {R} ^{m}$ i cui elementi sono del tipo $(\mathbf {x} ,\mathbf {y} )=(x_{1},x_{2},\ldots ,x_{n},y_{1},y_{2},\ldots ,y_{m})$. Sia inoltre $(\mathbf {a} ,\mathbf {b} )=(a_{1},a_{2},\ldots ,a_{n},b_{1},b_{2},\ldots ,b_{m})\in E$ un punto tale che $\mathbf {f} (\mathbf {a} ,\mathbf {b} )=0$.
Data la matrice jacobiana di $\mathbf {f}$ in $(\mathbf {a} ,\mathbf {b} )$:
    ${\begin{matrix}(D\mathbf {f} )(\mathbf {a} ,\mathbf {b} )&=&\left[{\begin{matrix}{\frac {\partial f_{1}}{\partial x_{1}}}(\mathbf {a} ,\mathbf {b} )&\cdots &{\frac {\partial f_{1}}{\partial x_{n}}}(\mathbf {a} ,\mathbf {b} )\\\vdots &\ddots &\vdots \\{\frac {\partial f_{n}}{\partial x_{1}}}(\mathbf {a} ,\mathbf {b} )&\cdots &{\frac {\partial f_{n}}{\partial x_{n}}}(\mathbf {a} ,\mathbf {b} )\end{matrix}}\right|\left.{\begin{matrix}{\frac {\partial f_{1}}{\partial y_{1}}}(\mathbf {a} ,\mathbf {b} )&\cdots &{\frac {\partial f_{1}}{\partial y_{m}}}(\mathbf {a} ,\mathbf {b} )\\\vdots &\ddots &\vdots \\{\frac {\partial f_{n}}{\partial y_{1}}}(\mathbf {a} ,\mathbf {b} )&\cdots &{\frac {\partial f_{n}}{\partial y_{m}}}(\mathbf {a} ,\mathbf {b} )\\\end{matrix}}\right]={\begin{bmatrix}X&|&Y\end{bmatrix}}\\\end{matrix}},$
si supponga che $X$ sia invertibile.
Il teorema delle funzioni implicite afferma che vi sono due insiemi aperti $U\subset \mathbb {R} ^{n+m}$ e $V\subset \mathbb {R} ^{m}$ contenenti rispettivamente $(\mathbf {a} ,\mathbf {b} )$ e $\mathbf {b}$ tali che per ogni $\mathbf {y} \in V$ esiste un unico $\mathbf {x}$ che soddisfa $(\mathbf {x} ,\mathbf {y} )\in U$ e $\mathbf {f} (\mathbf {x} ,\mathbf {y} )=0$. Inoltre, la funzione $\mathbf {g} \colon V\to \mathbb {R} ^{n}$ tale che $\mathbf {g} (\mathbf {y} )=\mathbf {x}$ è una funzione di classe ${\mathcal {C}}^{1}$ tale che:
    $\mathbf {g} (\mathbf {b} )=\mathbf {a} ,\qquad (D\mathbf {g} )(\mathbf {b} )=-X^{-1}Y,$
dove $(D\mathbf {g} )(\mathbf {b} )$ è la jacobiana di $\mathbf {g}$ in $\mathbf {b}$. La relazione:
    $\mathbf {f} (\mathbf {g} (\mathbf {y} ),\mathbf {y} )=0,\qquad \mathbf {y} \in V,$
definisce implicitamente $\mathbf {g}$.
Il teorema stabilisce quindi che il sistema $\mathbf {f} (\mathbf {x} ,\mathbf {y} )=\mathbf {0}$:
    $\left\{{\begin{matrix}f_{1}(x_{1},x_{2},\cdots ,x_{n},y_{1},y_{2},\cdots ,y_{m})=0\\f_{2}(x_{1},x_{2},\cdots ,x_{n},y_{1},y_{2},\cdots ,y_{m})=0\\\vdots \\f_{n}(x_{1},x_{2},\cdots ,x_{n},y_{1},y_{2},\cdots ,y_{m})=0\\\end{matrix}}\right.$
può essere risolto esplicitando $(x_{1},x_{2},\cdots ,x_{n})$ in funzione di $(y_{1},y_{2},\cdots ,y_{m})$ in un intorno di $\mathbf {b}$ se il sistema è risolvibile in $(\mathbf {a} ,\mathbf {b} )$ e se $X$ è invertibile. Le soluzioni così trovate sono inoltre funzioni di classe ${\mathcal {C}}^{1}$. Il teorema può essere generalizzato al caso di funzioni analitiche.
Il teorema si estende anche agli spazi di Banach.