The Unapologetic Mathematician

Differentiable Convex Functions

We showed that all convex functions are continuous. Now let’s assume that we’ve got one that’s differentiable too. Actually, this isn’t a very big imposition. It turns out that a result called Rademacher’s Theorem will tell us that any Lipschitz function is differentiable “almost everywhere”.

Okay, so what does differentiability mean? Remember our secant-slope function:

$\displaystyle s(\left[a,b\right])=\frac{f(b)-f(a)}{b-a}$

Differentiability says that as we shrink the interval $\left[a,b\right]$ down to a single point $c$ the function has a limit, and that limit is $f'(c)$.

So now take $a<b$. We can pick a $c$ between them and points $x$ and $y$ so that $a<x<c<y<b$. Now we compare slopes to find

$s(\left[a,x\right])\leq s(\left[a,c\right])\leq s(\left[c,b\right])\leq s(\left[y,b\right])$

so as we let $x$ approach $a$ and $y$ approach $b$ we find

$f'(a)\leq s(\left[a,c\right])\leq s(\left[c,b\right])\leq f'(b)$

And so the derivative of $f$ must be nondecreasing.

Let’s look at the statement $f'(a)\leq s(\left[a,x\right])$ a little more closely. We can expand this out to say

$\displaystyle f'(a)\leq\frac{f(x)-f(a)}{x-a}$

which we can rewrite as $f(a)+f'(x)(x-a)\leq f(x)$. That is, while the function lies below any of its secants it lies above any of its tangents. In particular, if we have a local minimum where $f'(a)=0$ then $f(a)\leq f(x)$, and the point is also a global minimum.

If the derivative $f'(x)$ is itself differentiable, then the differential mean-value theorem tells us that $f''(x)\geq0$ since $f'(x)$ is nondecreasing. This leads us back to the second derivative test to distinguish maxima and minima, since a function is convex near a local minimum.

Like this:

Posted by John Armstrong | Analysis, Calculus

4 Comments	»

1. Actually, any convex function defined on an interval, is differentiable everywhere except on at most countable set (exercise).

Comment by | April 16, 2008 | Reply

2. I know it’s you, Michael, and you haven’t said anything I haven’t more-or-less already said myself. Yesterday I showed that convex functions are Lipschitz (throwing a sop to you in the process) and today I mentioned Rademacher’s theorem.

Comment by | April 17, 2008 | Reply

3. Yeah, I noticed the sop, thanks, but “more-or-less” is the point here. Rademacher’s theorem is rather involved, and my remark is quite elementary, and makes a nice exercise for an interested reader of your blog. Besides, “except on at most countable set” is stronger than “almost everywhere,” since not all sets of measure zero are countable. In fact, it is true that the derivative of a convex function on an interval is continuous on its definition domain, and it’s another exercise, still rather simple.

Comment by | April 17, 2008 | Reply

4. it really good. it increases me knowledge

Comment by saeed | August 21, 2009 | Reply

« Previous | Next »

About this weblog

This is mainly an expository blath, with occasional high-level excursions, humorous observations, rants, and musings. The main-line exposition should be accessible to the “Generally Interested Lay Audience”, as long as you trace the links back towards the basics. Check the sidebar for specific topics (under “Categories”).

I’m in the process of tweaking some aspects of the site to make it easier to refer back to older topics, so try to make the best of it for now.
{"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": 0, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 24, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": false, "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.9317280054092407, "perplexity_flag": "middle"}