# Implicit Function Theorem example in Baby Rudin

I am looking at example 2.29 of Baby Rudin (page 227) of my edition to illustrate the implicit function theorem. This is what the example is:

Take $n= 2$ and $m=3$ and consider $\mathbf{f} = (f_1,f_2)$ of $\Bbb{R}^5$ to $\Bbb{R}^2$ given by $$\begin{eqnarray*} f_1(x_1,x_2,y_1,y_2,y_3) &=& 2e^{x_1} + x_2y_1 -4y_2 + 3 \\ f_2(x_1,x_2,y_1,y_2,y_3) &=& x_2\cos x_1 - 6x_1 + 2y_1 - y_3 \end{eqnarray*}.$$ If $\mathbf{a} = (0,1)$ and $\mathbf{b} = (3,2,7)$, then $\mathbf{f(a,b)} = 0$. With respect to the standard bases, the derivative of $f$ at the point $(0,1,3,2,7)$ is the matrix $$[A] = \left[\begin{array}{ccccc} 2 & 3 & 1 & -4 & 0 \\ -6 & 1 & 2 & 0 & -1 \end{array}\right].$$ Hence if we observe the $2 \times 2$ block $$\left[\begin{array}{cc} 2 & 3 \\ -6 & 1 \end{array}\right]$$ it is invertible, and so by the implicit function theorem there exists a $C^1$ mapping $\mathbf{g}$ defined on a neighbourhood of $(3,2,7)$ such that $\mathbf{g}(3,2,7 ) = (0,1)$ and $\mathbf{f}(\mathbf{g}(\mathbf{y}),\mathbf{y}) = 0$.

Now what I don't understand is from such a $\mathbf{g}$, how does this mean that I can solve the variables $x_1$ and $x_2$ for $y_1,y_2,y_3$ locally about $(3,2,7)$?

Also if I wanted to carry out this computation explicitly, how can I do it? We do not have a nice and shiny linear system to solve unlike problem 19 of the same chapter.

Thanks.

-

– Dylan Moreland Jun 16 '12 at 8:08
@DylanMoreland Right Thanks. However even for the existence bit, how do I know from the existence of $g$ that I can solve $x_1$ and $x_2$ in terms of $y_1,y_2$ and $y_3$? – BenjaLim Jun 16 '12 at 8:09
Maybe I didn't understand your question. I guess I don't have a better answer than, "You put $\mathbf y$-values into $\mathbf g$ and it spits $\mathbf x$-values out." It seems to me, sadly, that Rudin's example is more about checking that the hypotheses are satisfied. – Dylan Moreland Jun 16 '12 at 8:16
@DylanMoreland It's ok then, because the exercise at the end of the chapter does allow us to do an explicit computation. – BenjaLim Jun 16 '12 at 8:19
Interesting. Which exercise, specifically? – Dylan Moreland Jun 16 '12 at 8:23
show 3 more comments

## 2 Answers

As suggested by several comments the implicit function theorem as well as the inverse function theorem (which is equivalent to the implicit function theorem) are (powerful) existence theorems which in fact provide little help when it comes to explicitly computing an inverse or implicit function. This is, however, usually not necessary in applications in analysis.

What is extremely important in the two theorems (apart from the existence claim) are the assertions of the uniqueness/invertibility of the solution in a whole neighbourhood (having topological consequences, e.g., the inverse functions theorem shows that $C^1$ maps with invertible derivative in one point are locally open) and regularity of the functions the existence of which is guaranteed (i.e. $f(x,y)\in C^1 (C^k)$ and the assumptions of the theorem are fulfilled $\Rightarrow g\in C^1 (C^k)$ if $f(x, g(x))=0$).

As most people have difficulties to grasp the implicit function theorem when they first get to see it I think Rudin's intention was to illustrate the steps which are necessary when one wants to apply it.

-

With regards to your first question see this and this. Also Rudin's Principles of Mathematical Analysis theorem 9.27 covers this (see equation (59)).

With regards to your second question I do not think the implicit function theorem gives you an explicit way to solve the system. Consider the function $y = xe^x$. Even trying to solve this in terms of $y$ requires the Lambert W function.

-
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 35, "mathjax_display_tex": 3, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 10, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "github"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.9367396235466003, "perplexity_flag": "head"}