Boyd Convex Optimization的第3章开头给出了凸函数的定义和一种判别方法,但没有证明过程,在此给出证明。
原文这样说的:A function is convex if and only if it is convex when restricted to any line that intersects its domain.这句话看不懂,其实后面还有 in other words,…


这里给凸函数两个判别方式:
- 定义,对函数 f(x) ,满足下式时定义为凸函数:
f(θx+(1−θ)y)≤θf(x)+(1−θ)f(y)x,y∈domf,0≤θ≤1
- 函数 g(t) 是凸函数与 f(x) 是凸函数等价:
g(t)=f(x+tv)dom g=t∣x+tv∈domf
Boyd 的 Convex Optimization没有给出证明,在此证明一下。
- 证明:如果 f(x) 为凸函数,则 g(t) 也为凸函数。
证明的思路就是,要证明哪个函数是凸函数,就在这个函数上取两点,利用已知条件和凸函数的定义,来证明之。这里就是在 g(t) 上取两点 t1,t2,利用与 f(x) 是凸函数这个条件,证明 $g(\theta t_1 + (1-\theta)t_2) \le \theta g(t_1) + (1-\theta) g(t_2) $。
取 t1,t2∈dom g
g(θt1+(1−θ)t2)=f(x+(θt1+(1−θ)t2)v)=f(θx+(1−θ)x+(θt1+(1−θ)t2)v)=f(θ(x+t1v)+(1−θ)(x+t2v))≤θf(x+t1v)+(1−θ)(x+t2v)=θg(t1)+(1−θ)g(t2)
这样,就证明了了 g(t) 是凸函数。
其实证明过程中可以先写出 g(t1)=f(x+t1v) 这样的式子,方便知道化简的方向。
- 证明:如果 g(t) 是凸函数,那么 f(x) 也是凸函数。
类似的,首先取 x1,x2∈domf ,取 f(x) 中的 v=(x1−x2) ,这里不用担心 (x1−x2) 不在 domf ,因为如果不在,下面的 θ 就不能取。
f(θx1+(1−θ)x2)=f(x2+θ(x1−x2))=g(θ)=g(θ×1+(1−θ)×0)≤θg(1)+(1−θ)g(0)=θf(x1)+(1−θ)f(x2)f(x1)=f(x2+1(x1−x2))=g(1)f(x2)=f(x2+0(x1−x2))=g(0)
要一下子想到整个过程可能有点南,但只要抓住要证的结论,把结论中的各个项想办法转换成已知条件的项,然后用已知条件的性质来证明,最后再整理整个过程使之看起来比较顺畅。