3
$\begingroup$

I have a function which does not have a closed form . Large numerical effort should be done to evaluate the function for even a single point. How can I examine the convexity of my function over the whole domain of function with minimum computational load? some extra assumption is that the function is continuous and almost every where differentiable!

$\endgroup$
5
  • $\begingroup$ ima.umn.edu/preprints/APRIL1993/1133.pdf $\endgroup$ Commented Oct 2, 2013 at 21:37
  • $\begingroup$ this paper is a very narrow example sorry. $\endgroup$ Commented Oct 2, 2013 at 21:44
  • $\begingroup$ Deciding complexity for polynomial functions is known to be NP-hard problem (in number of terms of the polynomial), so for all practical purposes your complicated function is probably so too. If all you have is a black box function, you might want to try branch and bound type of methods. $\endgroup$ Commented Oct 2, 2013 at 22:04
  • $\begingroup$ actually i know my function is continuous and almost everywhere differentiable ! does that help to reduce the complexity load? $\endgroup$ Commented Oct 2, 2013 at 22:09
  • 1
    $\begingroup$ @behradmahboobi: a convex function defined over an open domain, I believe, is always continuous and a.e. differentiable. Thus, the mentioned properties will not contribute anything new to the problem. $\endgroup$ Commented Oct 2, 2013 at 23:08

1 Answer 1

4
$\begingroup$

If your function was strictly convex and $C^3$ (let's say on a compact interval $I$) and you had bounds on the third derivative there, it might be possible to prove its convexity on $I$ by evaluating it at sufficiently many points of $I$. If not, it's impossible to distinguish any convex function from one whose second derivative has a narrow "blip" taking it below zero between some of the points where you evaluated it.

EDIT: Here's what I had in mind. Suppose you know that $|f'''| \le B$ on interval $I$. Evaluate $f$ at points $x_j = x_0 + j \delta$, $j = 0 \ldots n$ so that $I = [x_0, x_n]$, and compute $L_j = f(x_{j-1}) - 2 f(x_{j}) + f(x_{j+1})$, $j = 1 \ldots n-1$.
Note that $L_j = \int_{x_{j-1}}^{x_{j+1}} (\delta - |t - x_j|) f''(t)\; dt$. If $x_{j-1} \le s \le x_{j+1}$, since $f''(s) \ge f''(t) - B |t - s|$ we have $$ \delta^2 f''(s) \ge L(j) - B \int_{x_{j-1}}^{x_{j+1}} (\delta - |t - x_j|)|t - s|\; dt \ge L(j) - B \delta^3$$ since $$ \max_{s \in [-1,1]} \int_{-1}^1 (1 - |t|)|t-s|\; dt = 1$$ Thus if $L_j \ge B \delta^3$ for all $j = 1 \ldots n-1$ you can conclude that $f'' \ge 0$ and $f$ is convex. On the other hand, if some $L_j < 0$, $f$ is not convex.

If $f''$ is bounded away from $0$, this method is guaranteed to succeed as long as $\delta$ is sufficiently small.
In fact if $f'' \ge c > 0$ on $I$, we will have $L_j \ge c \delta^2$, so we just need $0 < \delta < c/B$. Note that you don't need to know $c$ beforehand, you just keep taking smaller and smaller $\delta$ until you succeed.

$\endgroup$
4
  • $\begingroup$ you have assumed that the function is strictly convex at the first like of your post!! if it is strictly convex then it is convex too so why do we need third derivative in class $C^3$! $\endgroup$ Commented Oct 4, 2013 at 12:31
  • $\begingroup$ Actually strictly convex is not enough, you need the second derivative bounded away from $0$. $\endgroup$ Commented Oct 4, 2013 at 15:28
  • $\begingroup$ strongly or strictly convexity always results in convexity. $\endgroup$ Commented Oct 5, 2013 at 6:37
  • $\begingroup$ But you will have a hard time trying to prove its convexity numerically. $\endgroup$ Commented Oct 6, 2013 at 6:43

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .