{{위키데이터 속성 추적}}
[[파일:Implicit circle.svg|thumb]]
{{미적분학}}
[[다변수 미적분학]]에서 '''음함수 정리'''(陰函數定理, {{llang|en|implicit function theorem}})는 변수들에 대한 [[방정식]]이 국소적으로 충분히 매끄러운 [[음함수|함수]] 관계를 나타낼 충분 조건을 제시하는 정리이다.

== 도입 ==
2차원 [[유클리드 공간]] <math>\mathbb R^2</math> 위에서 원점 <math>(0,0)</math>을 중심으로 하며 1을 반지름으로 하는 [[원 (기하학)|원]]의 방정식
:<math>x^2+y^2-1=0</math>
을 생각하자. 이 방정식은 <math>[-1,1]\times[0,\infty)</math>에서 다음과 같은 유일한 함수와 동치이다.
:<math>y=\sqrt{1-x^2}\qquad\forall x\in[-1,1]</math>
또한 이 방정식은 <math>[-1,1]\times(-\infty,0]</math>에서 다음과 같은 유일한 함수와 동치이다.
:<math>y=-\sqrt{1-x^2}\qquad\forall x\in[-1,1]</math>
이 방정식을 만족시키는 [[연속 함수]]는 <math>[-1,1]\times\mathbb R</math>에서 위와 같은 두 가지가 있으므로 유일하지 않다. 그러나 <math>(0,1)</math>을 지나는 연속 함수는 첫 번째 함수로 유일하다. 이 사실에 대한 기하학적 의미를 알아보기 위해, 다음과 같은 함수를 정의하자.
:<math>z=x^2+y^2-1\qquad\forall x,y\in\mathbb R</math>
이렇게 정의한 <math>F</math>의 그래프는 <math>\mathbb R^3</math>에 놓인 곡면이며, 위와 같은 원은 이 곡면과 평면 <math>z=0</math>의 교선이다. <math>(0,1)</math> 주변에서 <math>x'^2+y'^2-1=0</math>인 점 <math>(x',y')</math>을 임의로 취하자. 여기에는 특히 <math>(x',y')=(0,1)</math> 역시 포함된다. <math>x=x'</math>가 고정되었을 때, <math>z={x'}^2+y^2-1</math>는 <math>y=y'</math> 주변에서 <math>y</math>에 대한 순증가 함수이기 때문에, 국소적으로 <math>y<y'</math>에 대하여 <math>z<0</math>이 성립하며, <math>y>y'</math>에 대하여 <math>z>0</math>이 성립한다. 따라서 <math>z=x^2+y^2-1</math>의 영점 집합은 <math>(0,1)</math>에서 국소적으로 어떤 함수 <math>y=y(x)</math>의 그래프와 일치한다. <math>z</math>가 <math>y</math>에 대한 순단조 함수가 되기 위한 한 가지 충분 조건은 <math>\partial z/\partial y\ne 0</math>이다. 이를 만족시키지 않는 점을 지나는 연속 함수는 국소적으로 유일할 필요가 없다. 예를 들어, 방정식을 만족시키며 <math>(1,0)</math>을 지나는 연속 함수는 대역적으로나 국소적으로나 유일하지 않다. 음함수 정리에서는 이 조건을 가정으로 삼아 국소적으로 유일한 음함수의 존재를 결론으로 제시한다. 사실 <math>\partial z/\partial y\ne 0</math>은 비퇴화 조건의 가장 간단한 경우이다. 여러 개의 방정식의 연립
:<math>z_1(x_1,\dots,x_n,y_1,\dots,y_m)=0</math>
:<math>\vdots</math>
:<math>z_m(x_1,\dots,x_n,y_1,\dots,y_m)=0</math>
에서 <math>(y_1,\dots,y_m)</math>가 국소적으로 <math>(x_1,\dots,x_n)</math>의 함수인지를 다루려면 다음과 같은 비퇴화 조건을 사용하여야 한다.
:<math>\det\frac{\partial(z_1,\dots,z_m)}{\partial(y_1,\dots,y_m)}\ne 0</math>
이 부등식의 좌변은 함수 <math>z_1,\dots,z_m</math>의 변수 <math>y_1,\dots,y_m</math>에 대한 [[야코비 행렬식]]이다. 특히, 만약
:<math>z_1=a_{11}x_1+\cdots a_{1n}x_n+b_{11}y_1+\cdots+b_{1m}y_m</math>
:<math>\vdots</math>
:<math>z_m=a_{m1}x_1+\cdots+a_{mn}x_n+b_{m1}y_1+\cdots+b_{mm}y_m</math>
일 경우, 위에서 정의한 야코비 행렬식은 <math>x_1,\dots,x_n</math>을 상수로 간주하여 얻는 연립 일차 방정식의 계수 행렬의 행렬식 <math>\det(b_{ij})_{m\times m}</math>이다.

== 정의 ==
[[열린 근방]] <math>\mathbf a\in U\subseteq\mathbb R^n</math>와 <math>\mathbf b\in V\subseteq\mathbb R^m</math> 및 [[연속 함수]] <math>\mathbf f\colon U\times V\to\mathbb R^m</math>, <math>(\mathbf x,\mathbf y)\mapsto\mathbf f(\mathbf x,\mathbf y)</math> (<math>\mathbf x\in U</math>, <math>\mathbf y\in V</math>)가 다음을 만족시킨다고 하자.
*<math>\mathrm D_{\mathbf y}\mathbf f</math> 역시 연속 함수이다. 여기서 <math>(\mathrm D_{\mathbf y}\mathbf f)_{ij}=\partial f_i/\partial y_j</math>이다.
*<math>\mathbf f(\mathbf a,\mathbf b)=\mathbf 0</math>
*<math>\det\mathrm D_{\mathbf y}\mathbf f(\mathbf a,\mathbf b)\ne 0</math>
그렇다면, 다음을 만족시키는 열린 근방 <math>\mathbf a\in W\subseteq U</math> 및 유일한 연속 함수 <math>\mathbf g\colon W\to\mathbb R^m</math>가 존재한다.
*<math>\mathbf g(W)\subseteq V</math>
*<math>\mathbf b=\mathbf g(\mathbf a)</math>
* 임의의 <math>\mathbf x\in W</math>에 대하여, <math>\mathbf f(\mathbf x,\mathbf g(\mathbf x))=\mathbf 0</math>
또한, <math>k\in\{1,2,\dots\}</math>에 대하여, 만약 <math>\mathbf f</math>가 <math>\mathcal C^k</math> 함수라면, <math>\mathbf g</math> 역시 <math>\mathcal C^k</math> 함수이며, <math>\mathbf g</math>의 도함수 <math>\mathrm D\mathbf g</math>는 다음과 같다.
:<math>\mathrm D\mathbf g(\mathbf x)=-
(\mathrm D_{\mathbf y}\mathbf f(\mathbf x,\mathbf g(\mathbf x)))^{-1}
\mathrm D_{\mathbf x}\mathbf f(\mathbf x,\mathbf g(\mathbf x))\qquad\forall\mathbf x\in W</math>
여기서 <math>(\mathrm D_{\mathbf x}\mathbf f)_{ij}=\partial f_i/\partial x_j</math>이다. 이를 '''음함수 정리'''라고 한다. <math>\mathbf f</math>가 <math>\mathcal C^k</math> 함수임을 가정하지 않을 경우, <math>\mathbf g</math>의 미분 가능성은 일반적으로 성립하지 않는다.

=== 가장 간단한 경우 ===
두 열린구간 <math>a\in U\subseteq\mathbb R</math>와 <math>b\in V\subseteq\mathbb R</math> 및 연속 함수 <math>f\colon U\times V\to\mathbb R</math>가 다음을 만족시킨다고 하자.
*<math>\partial f/\partial y</math> 역시 연속 함수이다.
*<math>f(a,b)=0</math>
*<math>(\partial f/\partial y)(a,b)\ne 0</math>
그렇다면, 다음을 만족시키는 열린구간 <math>a\in W\subseteq U</math> 및 유일한 연속 함수 <math>g\colon W\to\mathbb R</math>가 존재한다.
*<math>g(W)\subseteq V</math>
*<math>b=g(a)</math>
* 임의의 <math>x\in W</math>에 대하여, <math>f(x,g(x))=0</math>
또한, <math>k\in\{1,2,\dots\}</math>에 대하여, 만약 <math>f</math>가 <math>\mathcal C^k</math> 함수라면, <math>g</math> 역시 <math>\mathcal C^k</math> 함수이며, <math>g</math>의 도함수 <math>g'</math>는 다음과 같다.
:<math>g'(x)=-\frac{(\partial f/\partial x)(x,g(x))}{(\partial f/\partial y)(x,g(x))}\qquad\forall x\in W</math>
이는 음함수 정리에서 <math>n=m=1</math>을 취한 가장 간단한 경우이다.

== 증명 ==
=== 수학적 귀납법을 통한 증명 ===
[[수학적 귀납법]]을 사용하자.

==== m=1 ====
먼저 <math>m=1</math>일 경우를 증명하자. 편의상 <math>(\partial f/\partial y)(a,b)>0</math>라고 가정하자. 그러면 <math>\partial f/\partial y</math>에 연속성에 의하여, 다음을 만족시키는 <math>\delta_1>0</math>가 존재한다.
* <math>\operatorname B(\mathbf a,\delta_1)\subseteq U</math>
* <math>\operatorname B(b,\delta_1)\subseteq V</math>
* 임의의 <math>\mathbf x\in\operatorname B(\mathbf a,\delta_1)</math> 및 <math>y\in\operatorname B(b,\delta_1)</math>에 대하여, <math>(\partial f/\partial y)(\mathbf x,y)>0</math>
이에 따라 <math>f(\mathbf a,y)</math>가 <math>\operatorname B(b,\delta_1)</math>에서 순증가 함수이며, 또한 <math>f(\mathbf a,b)=0</math>이므로, <math>f(\mathbf a,b-\delta_1)<0<f(\mathbf a,b+\delta_1)</math>이다. 따라서 다음을 만족시키는 <math>0<\delta_2<\delta_1</math>가 존재한다.
* 임의의 <math>\mathbf x\in\operatorname B(\mathbf a,\delta_2)</math>에 대하여, <math>f(\mathbf x,b-\delta_1)<0<f(\mathbf x,b+\delta_1)</math>
따라서, 임의의 <math>\mathbf x'\in\operatorname B(\mathbf a,\delta_2)</math>에 대하여, <math>f(\mathbf x',y)</math>는 <math>\operatorname B(b,\delta_1)</math>에서 순증가 함수이자 연속 함수이므로, [[중간값 정리]]에 따라 <math>f(\mathbf x',g(\mathbf x'))=0</math>인 유일한 <math>g(\mathbf x')\in\operatorname B(b,\delta_1)</math>가 존재한다. 이렇게 정의한 함수 <math>g\colon\operatorname B(\mathbf a,\delta_2)\to\mathbb R</math>는 임의의 <math>\mathbf x\in\operatorname B(\mathbf a,\delta_2)</math>에 대하여 <math>f(\mathbf x,g(\mathbf x))=0</math>를 만족시키며, 특히 <math>b=g(\mathbf a)</math>이다. 이제 <math>g</math>의 연속성을 증명하자. 임의의 <math>\mathbf x'\in\operatorname B(\mathbf a,\delta_2)</math> 및 충분히 작은 <math>\epsilon>0</math>에 대하여, <math>f(\mathbf x',g(\mathbf x')-\epsilon)<0<f(\mathbf x',g(\mathbf x')+\epsilon)</math>이므로, 다음을 만족시키는 <math>\delta_3>0</math>가 존재한다.
* <math>\operatorname B(\mathbf x',\delta_3)\subseteq\operatorname B(\mathbf a,\delta_2)</math>
* 임의의 <math>\mathbf x\in\operatorname B(\mathbf x',\delta_3)</math>에 대하여, <math>f(\mathbf x,g(\mathbf x')-\epsilon)<0<f(\mathbf x,g(\mathbf x')+\epsilon)</math>
따라서, 임의의 <math>\mathbf x\in\operatorname B(\mathbf x',\delta)</math>에 대하여, <math>g(\mathbf x)\in\operatorname B(g(\mathbf x'),\epsilon)</math>이다. 이제 <math>g</math>의 유일성을 증명하자. 연속 함수 <math>h\colon\operatorname B(\mathbf a,\delta_2)\to\mathbb R</math>가 다음을 만족시킨다고 가정하자.
* <math>h(\operatorname B(\mathbf a,\delta_2))\subseteq V</math>
* <math>b=h(\mathbf a)</math>
* 임의의 <math>\mathbf x\in\operatorname B(\mathbf a,\delta_2)</math>에 대하여, <math>f(\mathbf x,h(\mathbf x))=0</math>
그렇다면, 다음과 같은 집합이 <math>\operatorname B(\mathbf a,\delta_2)</math>의 [[열린닫힌집합]]임을 보이는 것으로 족하다.
:<math>A=\{\mathbf x\in\operatorname B(\mathbf a,\delta_2)\colon g(\mathbf x)=h(\mathbf x)\}</math>
우선 임의의 <math>\mathbf x'\in A</math>에 대하여, 다음을 만족시키는 <math>\delta_4>0</math>가 존재한다.
* <math>\operatorname B(\mathbf x',\delta_4)\subseteq\operatorname B(\mathbf a,\delta_2)</math>
* 임의의 <math>\mathbf x\in\operatorname B(\mathbf x',\delta_4)</math>에 대하여, <math>h(\mathbf x)\in\operatorname B(b,\delta_1)</math>
따라서, 임의의 <math>\mathbf x\in\operatorname B(\mathbf x',\delta_4)</math>에 대하여, <math>h(\mathbf x)=g(\mathbf x)</math>이다. 즉, <math>A</math>는 <math>\operatorname B(\mathbf a,\delta_2)</math>의 열린집합이다. 또한 임의의 <math>\mathbf x'\in A'\cap\operatorname B(\mathbf a,\delta_2)</math>에 대하여, <math>g,h</math>의 연속성에 의하여 <math>\mathbf x'\in A</math>이다. 즉, <math>A</math>는 <math>\operatorname B(\mathbf a,\delta_2)</math>의 닫힌집합이다. <math>\operatorname B(\mathbf a,\delta_2)</math>는 [[연결 집합]]이며, 또한 <math>A\ne\varnothing</math>이므로, <math>A=\operatorname B(\mathbf a,\delta_2)</math>이다. 즉, 임의의 <math>\mathbf x\in\operatorname B(\mathbf a,\delta_2)</math>에 대하여, <math>g(\mathbf x)=h(\mathbf x)</math>이다. 이제 <math>f</math>가 <math>\mathcal C^k</math> 함수일 때 <math>g</math>의 <math>\mathcal C^k</math>성을 보이고 도함수를 구하자. 임의의 <math>j\in\{1,\dots,n\}</math> 및 <math>\mathbf x',\mathbf x'+\Delta x_j\mathbf e_j\in\operatorname B(\mathbf a,\delta_2)</math>에 대하여, 다음과 같이 표기하자.
:<math>\Delta y(\mathbf x',\mathbf x'+\Delta x_j\mathbf e_j)=g(\mathbf x'+\Delta x_j\mathbf e_j)-g(\mathbf x')</math>
그러면 [[평균값 정리]]에 따라 다음을 만족시키는 <math>0<\theta(\mathbf x',\mathbf x'+\Delta x_j\mathbf e_j)<1</math>가 존재한다.
:<math>\begin{align}0
&=f(\mathbf x'+\Delta x_j\mathbf e_j,g(\mathbf x')+\Delta y)-f(\mathbf x',g(\mathbf x'))\\
&=
\frac{\partial f}{\partial x_j}(\mathbf x'+\theta\Delta x_j\mathbf e_j,\mathbf g(\mathbf x')+\theta\Delta y)\Delta x_j+
\frac{\partial f}{\partial y}(\mathbf x'+\theta\Delta x_j\mathbf e_j,\mathbf g(\mathbf x')+\theta\Delta y)\Delta y
\end{align}</math>
따라서, 다음이 성립한다.
:<math>\begin{align}\frac{\partial g}{\partial x_j}(\mathbf x')
&=\lim_{\Delta x_j\to\mathbf 0}\frac{\Delta y}{\Delta x_j}\\
&=\lim_{\Delta x_j\to\mathbf 0}\left(
-\frac{(\partial f/\partial x_j)(\mathbf x'+\theta\Delta x_j\mathbf e_j,\mathbf g(\mathbf x')+\theta\Delta y)}{
(\partial f/\partial y)(\mathbf x'+\theta\Delta x_j\mathbf e_j,\mathbf g(\mathbf x')+\theta\Delta y)}\right)
\\
&=-
\frac{(\partial f/\partial x_j)(\mathbf x',g(\mathbf x'))}{
(\partial f/\partial y)(\mathbf x',g(\mathbf x'))}
\end{align}</math>
또한 <math>(\partial f/\partial x_j)(\mathbf x',g(\mathbf x'))</math>와 <math>(\partial f/\partial y)(\mathbf x',g(\mathbf x'))</math>가 연속 함수이므로, <math>g</math>는 연속 미분 가능 함수이다.

==== m>1 ====
이제 <math>m>1</math>일 경우를 증명하자. <math>V</math>의 원소를 <math>\mathbf y=(y_1,\tilde\mathbf y)</math>로 쓰고, <math>\mathbf f=(f_1,\tilde\mathbf f)</math>와 같이 표기하자. 또한 편의상 <math>\det(\mathrm D_{\tilde\mathbf y}\tilde\mathbf f\!(\mathbf a,\mathbf b))\ne 0</math>이라고 가정하자. 그렇다면, 수학적 귀납법 가정에 의하여, 다음을 만족시키는 유일한 연속 함수 <math>\tilde\mathbf g\colon\operatorname B(\mathbf a,\delta_1)\times\operatorname B(b_1,\delta_1)\to\mathbb R^{m-1}</math>가 존재하게 되는 <math>\delta_1>0</math>가 존재한다.
*<math>\operatorname B(\mathbf a,\delta_1)\subseteq U</math>
*<math>\operatorname B(b_1,\delta_1)\times\tilde\mathbf g(\operatorname B(\mathbf a,\delta_1)\times\operatorname B(b_1,\delta_1))\subseteq V</math>
*<math>\mathbf b'=\tilde\mathbf g(\mathbf a,b_1)</math>
* 임의의 <math>\mathbf x\in\operatorname B(\mathbf a,\delta_1)</math> 및 <math>y_1\in\operatorname B(b_1,\delta_1)</math> 및 <math>i\in\{2,\dots,m\}</math>에 대하여, <math>f_i(\mathbf x,y_1,\tilde\mathbf g(\mathbf x,y_1))=0</math>
다음과 같은 함수 <math>F\colon\operatorname B(\mathbf a,\delta_1)\times\operatorname B(b_1,\delta_1)\to\mathbb R^m</math>를 정의하자.
:<math>F(\mathbf x,y_1)=f_1(\mathbf x,y_1,\tilde\mathbf g(\mathbf x,y_1))
\qquad\forall\mathbf x\in\operatorname B(\mathbf a,\delta_1),\;y_1\in\operatorname B(b_1,\delta_1)</math>
그렇다면, 수학적 귀납법 가정에 의하여, 임의의 <math>\mathbf x\in\operatorname B(\mathbf a,\delta_1)</math> 및 <math>y_1\in\operatorname B(b_1,\delta_1)</math>에 대하여 다음이 성립한다.
:<math>\begin{align}\frac{\partial F}{\partial y_1}
&=\frac{\partial f_1}{\partial y_1}+\sum_{j=2}^m\frac{\partial f_1}{\partial y_j}\frac{\partial h_{j-1}}{\partial y_1}\\
&=\frac{\partial f_1}{\partial y_1}+
\mathrm D_{\tilde\mathrm y}f_1
(\mathrm D_{\tilde\mathrm y}\tilde f)^{-1}
\mathrm D_{y_1}\tilde f\\
&=\frac{\partial f_1}{\partial y_1}+
\sum_{i=2}^m\sum_{j=2}^m(-1)^{i+j}
\frac 1{\det\mathrm D_{\tilde\mathbf y}\tilde\mathbf f}
\frac{\partial f_i}{\partial y_1}
\frac{\partial f_1}{\partial y_j}
\det\mathrm D_{(y_2,\dots,y_{j-1},y_{j+1},\dots,y_m)}(f_2,\dots,f_{i-1},f_{i+1},\dots,f_m)
\\
&=\frac{\det\mathrm D_{\mathbf y}\mathbf f}{\det\mathrm D_{\tilde\mathbf y}\tilde\mathbf f}
\end{align}
</math>
따라서 <math>(\partial F/\partial y_1)(\mathbf a,b_1)\ne 0</math>이다. 수학적 귀납법 가정에 의하여, 다음을 만족시키는 유일한 연속 함수 <math>g_1\colon\operatorname B(\mathbf a,\delta_2)\to\mathbb R</math>가 존재하게 되는 <math>0<\delta_2<\delta_1</math>가 존재한다.
*<math>g_1(\operatorname B(\mathbf a,\delta_2))\subseteq\operatorname B(b_1,\delta_1)</math>
*<math>b_1=g_1(\mathbf a)</math>
* 임의의 <math>\mathbf x\in\operatorname B(\mathbf a,\delta_2)</math>에 대하여, <math>F(\mathbf x,g_1(\mathbf x))=0</math>
이제 <math>\mathbf g\colon\operatorname B(\mathbf a,\delta_2)\to\mathbb R^m</math>를 다음과 같이 정의하자.
:<math>\mathbf g(\mathbf x)=(g_1(\mathbf x),\tilde\mathbf g(\mathbf x,g_1(\mathbf x)))\qquad\forall\mathbf x\in\operatorname B(\mathbf a,\delta_2)</math>
그렇다면, <math>\mathbf g</math>는 연속 함수이며, 다음이 성립한다.
:<math>\mathbf g(\operatorname B(\mathbf a,\delta_2))\subseteq V</math>
:<math>f_1(\mathbf x,\mathbf g(\mathbf x))=F(\mathbf x,g_1(\mathbf x))=0\qquad\forall\mathbf x\in\operatorname B(\mathbf a,\delta_2)</math>
:<math>f_i(\mathbf x,\mathbf g(\mathbf x))=f_i(\mathbf x,g_1(\mathbf x),\tilde\mathbf g(\mathbf x,g_1(\mathbf x)))=0\qquad\forall\mathbf x\in\operatorname B(\mathbf a,\delta_2),\;i\in\{2,\dots,m\}</math>
:<math>\mathbf g(\mathbf a)=(g_1(\mathbf a),\tilde\mathbf g(\mathbf a,b_1))=\mathbf b</math>
이러한 <math>\mathbf g</math>의 유일성은 <math>m=1</math>의 경우와 똑같은 방법으로 보일 수 있다. 만약 <math>\mathbf f</math>가 <math>\mathcal C^k</math> 함수라면, 각 <math>i\in\{1,\dots,m\}</math> 및 <math>j\in\{1,\dots,n\}</math>에 대하여, <math>f_i(\mathbf x,\mathbf g(\mathbf x))=0</math>의 양변에 <math>\partial/\partial x_j</math>를 취하면, [[연쇄 법칙]]에 따라 다음을 얻는다.
:<math>\frac{\partial f_i}{\partial x_j}+\sum_{k=1}^m\frac{\partial f_i}{\partial y_k}\frac{\partial g_k}{\partial y_j}=0</math>
이를 행렬로 표기하면 <math>\mathrm D\mathbf g</math>의 공식을 얻으며, 따라서 <math>\mathbf g</math> 역시 <math>\mathcal C^k</math> 함수이다.

=== 바나흐 고정점 정리를 통한 증명 ===
다음과 같은 함수 <math>\mathbf F\colon U\times V\to\mathbb R^m</math>를 정의하자.
:<math>\mathbf F(\mathbf x,\mathbf y)=\mathbf y-
(\mathrm D_{\mathbf y}\mathbf f(\mathbf a,\mathbf b))^{-1}
\mathbf f(\mathbf x,\mathbf y)
\qquad\forall\mathbf x\in U,\;\mathbf y\in V</math>
그러면 다음이 성립한다.
:<math>\mathrm D_{\mathbf y}\mathbf F(\mathbf x,\mathbf y)=1_{m\times m}-
(\mathrm D_{\mathbf y}\mathbf f(\mathbf a,\mathbf b))^{-1}
\mathrm D_{\mathbf y}\mathbf f(\mathbf x,\mathbf y)
\qquad\forall\mathbf x\in U,\;\mathbf y\in V</math>
따라서 <math>\mathrm D_{\mathbf y}\mathbf F(\mathbf a,\mathbf b)=0_{m\times m}</math>이다. 또한 <math>\det\mathrm D_{\mathbf y}\mathbf f(\mathbf a,\mathbf b)\ne 0</math>이므로, <math>0<c<1</math>를 취하였을 때, 다음을 만족시키는 <math>\delta_1>0</math>가 존재한다.
* <math>\bar\operatorname B(\mathbf a,\delta_1)\subseteq U</math>
* <math>\bar\operatorname B(\mathbf b,\delta_1)\subseteq V</math>
* 임의의 <math>\mathbf x\in\bar\operatorname B(\mathbf a,\delta_1)</math> 및 <math>\mathbf y\in\bar\operatorname B(\mathbf b,\delta_1)</math>에 대하여, <math>\mathrm D_{\mathbf y}\mathbf F(\mathbf x,\mathbf y)<c</math>이며 <math>\det\mathrm D_{\mathbf y}\mathbf f(\mathbf x,\mathbf y)\ne 0</math>
또한, <math>\mathbf F(\mathbf a,\mathbf b)=\mathbf b</math>이므로, 다음을 만족시키는 <math>0<\delta_2<\delta_1</math>가 존재한다.
* 임의의 <math>\mathbf x\in\operatorname B(\mathbf a,\delta_2)</math>에 대하여, <math>\Vert\mathbf F(\mathbf x,\mathbf b)-\mathbf b\Vert<(1-c)\delta_1</math>
이제 임의의 <math>\mathbf x'\in\operatorname B(\mathbf a,\delta_2)</math>에 대하여, <math>\mathbf F(\mathbf x',\cdot)</math>가 <math>\bar\operatorname B(\mathbf b,\delta_1)</math> 위의 <math>c</math>-[[립시츠 연속 함수]]임을 증명하자. 우선 임의의 <math>\mathbf y\in\bar\operatorname B(\mathbf b,\delta_1)</math>에 대하여, 다음을 만족시키는 <math>0<\theta(\mathbf x',\mathbf y)<1</math>가 존재한다.
:<math>\begin{align}\Vert\mathbf F(\mathbf x',\mathbf y)-\mathbf b\Vert
&\le\Vert\mathbf F(\mathbf x',\mathbf y)-\mathbf F(\mathbf x',\mathbf b)\Vert
+\Vert\mathbf F(\mathbf x',\mathbf b)-\mathbf b\Vert\\
&\le\Vert\mathrm D_{\mathbf y}\mathbf F(\mathbf x',\mathbf b+\theta(\mathbf y-\mathbf b))\Vert\Vert\mathbf y-\mathbf b\Vert+
\Vert\mathbf F(\mathbf x',\mathbf b)-\mathbf b\Vert\\
&<(1-c)\delta_1+c\delta_1\\
&=\delta_1
\end{align}</math>
따라서 <math>\mathbf F(\mathbf x',\mathbf y)\in\operatorname B(\mathbf b,\delta_1)\subseteq\bar\operatorname B(\mathbf b,\delta_1)</math>이다. 또한, 임의의 <math>\mathbf y,\mathbf z\in\bar\operatorname B(\mathbf b,\delta_1)</math>에 대하여, 다음을 만족시키는 <math>0<\theta(\mathbf x',\mathbf y,\mathbf z)<1</math>가 존재한다.
:<math>\begin{align}\Vert\mathbf F(\mathbf x',\mathbf y)-\mathbf F(\mathbf x',\mathbf z)\Vert
&\le\Vert\mathrm D_{\mathrm y}\mathbf F(\mathbf x',\mathbf z+\theta(\mathbf y-\mathbf z)\Vert\Vert\mathbf y-\mathbf z\Vert\\
&\le c\Vert\mathbf y-\mathbf z\Vert
\end{align}</math>
즉, <math>\mathbf F(\mathbf x',\cdot)</math>는 <math>\bar\operatorname B(\mathbf b,\delta_1)</math> 위의 <math>c</math>-[[립시츠 연속 함수]]이다. 또한 <math>(\bar\operatorname B(\mathbf b,\delta_1),\Vert\cdot\Vert)</math>는 [[완비 거리 공간]]이므로, [[바나흐 고정점 정리]]에 따라 <math>\mathbf F(\mathbf x',\cdot)</math>는 <math>\bar\operatorname B(\mathbf b,\delta_1)</math>에서 유일한 고정점 <math>\mathbf g(\mathbf x')\in\bar\operatorname B(\mathbf b,\delta_1)</math>를 가진다. 즉, 다음이 성립한다.
:<math>\mathbf f(\mathbf x',\mathbf g(\mathbf x'))=\mathbf 0</math>
이제 이렇게 정의한 <math>\mathbf g\colon\bar\operatorname B(\mathbf a,\delta_2)\to\mathbb R^m</math>가 연속 함수임을 증명하자. 임의의 <math>\mathbf x',\mathbf x'+\Delta\mathbf x\in\bar\operatorname B(\mathbf a,\delta_2)</math>에 대하여, 다음이 성립한다.
:<math>\begin{align}\Vert\mathbf g(\mathbf x'+\Delta\mathbf x)-\mathbf g(\mathbf x')\Vert
&=\Vert\mathbf F(\mathbf x'+\Delta\mathbf x,\mathbf g(\mathbf x'+\Delta\mathbf x))-\mathbf F(\mathbf x',\mathbf g(\mathbf x'))\Vert\\
&\le\Vert
\mathbf F(\mathbf x'+\Delta\mathbf x,\mathbf g(\mathbf x'+\Delta\mathbf x))-
\mathbf F(\mathbf x'+\Delta\mathbf x,\mathbf g(\mathbf x'))\Vert+\Vert
\mathbf F(\mathbf x'+\Delta\mathbf x,\mathbf g(\mathbf x'))-
\mathbf F(\mathbf x',\mathbf g(\mathbf x'))\Vert\\
&\le c\Vert\mathbf g(\mathbf x'+\Delta\mathbf x)-\mathbf g(\mathbf x')\Vert+c'\Vert\Delta\mathbf x\Vert
\end{align}</math>
:<math>c'=\sup_{\mathbf x\in\bar\operatorname B(\mathbf a,\delta_2),\;\mathbf y\in\bar\operatorname B(\mathbf b,\delta_1)}
\Vert\mathrm D_{\mathbf x}\mathbf F(\mathbf x,\mathbf y)\Vert</math>
즉, 다음이 성립한다.
:<math>\Vert\mathbf g(\mathbf x'+\Delta\mathbf x)-\mathbf g(\mathbf x')\Vert\le\frac{c'}{1-c}\Vert\Delta\mathbf x\Vert</math>
따라서 <math>\mathbf g</math>는 연속 함수가 맞다. <math>\mathbf g</math>의 유일성은 고정점의 유일성에 따라 성립한다. 이제 <math>\mathbf f</math>가 <math>\mathcal C^k</math> 함수일 때 <math>\mathbf g</math>의 <math>\mathcal C^k</math>성을 보이고 도함수를 구하자. 임의의 <math>\mathbf x',\mathbf x'+\Delta\mathbf x\in\bar\operatorname B(\mathbf a,\delta_2)</math>에 대하여, 다음과 같이 표기하자.
:<math>\Delta\mathbf y(\mathbf x',\mathbf x'+\Delta\mathbf x)=\mathbf g(\mathbf x+\Delta\mathbf x)-\mathbf g(\mathbf x)</math>
그러면 다음이 성립한다.
:<math>\begin{align}\Vert\Delta\mathbf y+
(\mathrm D_{\mathbf y}\mathbf f(\mathbf x',\mathbf g(\mathbf x')))^{-1}
\mathrm D_{\mathbf x}\mathbf f(\mathbf x',\mathbf g(\mathbf x'))\Delta\mathbf x\Vert
&\le\Vert
(\mathrm D_{\mathbf y}\mathbf f(\mathbf x',\mathbf g(\mathbf x')))^{-1}\Vert\Vert
(\mathrm D_{\mathbf y}\mathbf f(\mathbf x',\mathbf g(\mathbf x')))\Delta\mathbf y+
\mathrm D_{\mathbf x}\mathbf f(\mathbf x',\mathbf g(\mathbf x'))\Delta\mathbf x\Vert\\
&=\Vert
(\mathrm D_{\mathbf y}\mathbf f(\mathbf x',\mathbf g(\mathbf x')))^{-1}\Vert\Vert
\mathbf f(\mathbf x'+\Delta\mathbf x,\mathbf g(\mathbf x')+\Delta\mathbf y)-\mathbf f(\mathbf x',\mathbf g(\mathbf x'))-
(\mathrm D_{\mathbf y}\mathbf f(\mathbf x',\mathbf g(\mathbf x')))\Delta\mathbf y-
\mathrm D_{\mathbf x}\mathbf f(\mathbf x',\mathbf g(\mathbf x'))\Delta\mathbf x\Vert\\
&=o(\Vert\Delta\mathbf x\Vert)\qquad(\Delta\mathbf x\to\mathbf 0)
\end{align}</math>
마지막 등호는 <math>\Vert\Delta\mathbf y\Vert\le(c'/(1-c))\Vert\Delta\mathbf x\Vert</math> 때문이다. 즉,
:<math>\mathrm D\mathbf g(\mathbf x')=-(\mathrm D_{\mathbf y}\mathbf f(\mathbf x',\mathbf g(\mathbf x')))^{-1}
\mathrm D_{\mathbf x}\mathbf f(\mathbf x',\mathbf g(\mathbf x'))</math>
가 성립하며, <math>\mathbf g</math>는 <math>\mathcal C^k</math> 함수이다.

== 예 ==
=== 닫힌 형식으로 나타낼 수 없는 함수 ===
어떤 <math>0<\epsilon<1</math>에 대하여, [[케플러 방정식]]
:<math>x=y-\epsilon\sin y</math>
을 생각하자. 다음과 같은 함수 <math>f\colon\mathbb R^2\to\mathbb R</math>를 정의하자.
:<math>f(x,y)=y-x-\epsilon\sin y\qquad\forall x,y\in\mathbb R</math>
그렇다면, 임의의 <math>x\in\mathbb R</math>에 대하여,
:<math>\lim_{y\to-\infty}f(x,y)=-\infty,\;\lim_{y\to\infty}f(x,y)=\infty</math>
:<math>f_y(x,y)=1-\epsilon\cos y>0\qquad\forall y\in\mathbb R</math>
이므로, <math>f(x,g(x))=0</math>인 유일한 <math>g(x)\in\mathbb R</math>가 존재한다. 음함수 정리에 따라, 이러한 함수 <math>g\colon\mathbb R\to\mathbb R</math>는 <math>\mathcal C^\infty</math> 함수이다. 다시 말해, 케플러 방정식은 어떤 유일한 (<math>\mathcal C^\infty</math>) 함수를 정의한다. 그러나 이러한 함수 <math>g</math>는 닫힌 형식으로 나타낼 수 없다.

=== 충분 조건의 비필요성 ===
다음과 같은 연속 함수 <math>f,g\colon\mathbb R^2\to\mathbb R</math> 및 <math>h\colon\mathbb R\to\mathbb R</math>를 생각하자.
:<math>f(x,y)=|y|\qquad\forall x,y\in\mathbb R</math>
:<math>g(x,y)=y^3\qquad\forall x,y\in\mathbb R</math>
:<math>h(x)=0\qquad\forall x\in\mathbb R</math>
그러면 <math>x,y\in\mathbb R</math>에 대하여 다음 세 가지가 동치이다.
* <math>f(x,y)=0</math>
* <math>g(x,y)=0</math>
* <math>y=h(x)</math>
즉, <math>h</math>는 <math>f</math> 또는 <math>g</math>가 유도하는 음함수이다. 그러나 <math>f_y(0,0)</math>는 존재하지 않으며, <math>g_y(0,0)=0</math>이다.

== 같이 보기 ==
* [[역함수 정리]]

{{전거 통제}}

[[분류:미적분학 정리]]
[[분류:실해석학 정리]]