Пусть S — непустое открытое множество в mathbbRn, тогда f:S rightarrow mathbbR называется дифференцируемым в hatx inS, если существует вектор bigtriangledownf left( hatx right), называемый вектором градиента, и функция alpha: mathbbRn rightarrow mathbbR такая, что
$ f \ left (x \ right) = f \ left (\ hat {x} \ right) + \ bigtriangledown f \ left (\ hat {x} \ right) ^ T \ left (x- \ hat {x} \ правый) + \ левый \ | x = \ hat {x} \ right \ | \ alpha \ left (\ hat {x}, x- \ hat {x} \ right), \ forall x \ in S $, где
alpha left( hatx,x− hatx right) rightarrow0 bigtriangledownf left( hatx right)= left[ frac частичныйf частичныйx1 frac частичныйf частичныйx2... frac частичныйf частичныйxn right]Tx= hatx
теорема
пусть S — непустое открытое выпуклое множество в mathbbRn, и пусть f:S rightarrow mathbbR дифференцируемо на S. Тогда f выпукло тогда и только тогда, когда для x1,x2 inS, bigtriangledownf left(x2 right)T left(x1−x2 right) leqf left(x1 right)−f left(x2 right)
доказательство
Пусть f — выпуклая функция. то есть для x1,x2 inS, lambda in left(0,1 right)
f left[ lambdax1+ left(1− lambda right)x2 right] leq lambdaf left(x1 right)+ left(1− lambda right)f left(x2 право)
Rightarrowf left[ lambdax1+ left(1− lambda right)x2 right] leq lambda left(f left(x1 right)−f left(x2 right) right)+f left(x2 right)
Rightarrow lambda left(f left(x1 right)−f left(x2 right) right) geqf left(x2+ lambda left(x1−x2 right) right)−f left(x2 right)
Rightarrow lambda left(f left(x1 right)−f left(x2 right) right) geqf left(x2 right)+ bigtriangledownf left(x2 right)T left(x1−x2 right) лямбда+
$ \ left \ | \ lambda \ left (x_1-x_2 \ right) \ right \ | \ alpha \ left (x_2, \ lambda \ left (x_1 — x_2 \ right) -f \ left (x_2 \ right) \ right) $
где alpha left(x2, lambda left(x1−x2 right) right) rightarrow0 как lambda rightarrow0
Разделив lambda на обе стороны, получим —
f left(x1 right)−f left(x2 right) geq bigtriangledownf left(x2 right)T left(x1−x2 right)
обратный
Пусть для x1,x2 inS, bigtriangledownf left(x2 right)T left(x1−x2 right) leqf left(x1 right)−f left(x2 right)
Чтобы показать, что f выпуклая.
Поскольку S выпуклый, x3= lambdax1+ left(1− lambda right)x2 inS, lambda in left(0,1 right)
Так как x1,x3 inS, следовательно,
f left(x1 right)−f left(x3 right) geq bigtriangledownf left(x3 right)T left(x1−x3 right)
Rightarrowf left(x1 right)−f left(x3 right) geq bigtriangledownf left(x3 right)T left(x1− lambdax1− left(1− lambda) right)x2 right)
Rightarrowf left(x1 right)−f left(x3 right) geq left(1− lambda right) bigtriangledownf left(x3 right)T left(x1−x2 право)
Так как, x2,x3 inS, следовательно,
f left(x2 right)−f left(x3 right) geq bigtriangledownf left(x3 right)T left(x2−x3 right)
Rightarrowf left(x2 right)−f left(x3 right) geq bigtriangledownf left(x3 right)T left(x2− lambdax1− left(1− lambda) right)x2 right)
Rightarrowf left(x2 right)−f left(x3 right) geq left(− lambda right) bigtriangledownf left(x3 right)T left(x1−x2 верно)
Таким образом, объединяя приведенные выше уравнения, получаем —
lambda left(f left(x1 right)−f left(x3 right) right)+ left(1− lambda right) left(f left(x2 right)−f left(x3 right) right) geq0
Rightarrowf left(x3 right) leq lambdaf left(x1 right)+ left(1− lambda right)f left(x2 right)
теорема
пусть S — непустое открытое выпуклое множество в mathbbRn, и пусть f:S rightarrow mathbbR дифференцируемо на S, тогда f выпукло на S тогда и только тогда, когда для любой x1,x2 inS, left( bigtriangledownf left(x2 right)− bigtriangledownf left(x1 right) right)T left(x2−x1 right) geq0
доказательство
пусть f — выпуклая функция, тогда используя предыдущую теорему —
bigtriangledownf left(x2 right)T left(x1−x2 right) leqf left(x1 right)−f left(x2 right) и
bigtriangledownf left(x1 right)T left(x2−x1 right) leqf left(x2 right)−f left(x1 right)
Сложив два приведенных выше уравнения, получим —
bigtriangledownf left(x2 right)T left(x1−x2 right)+ bigtriangledownf left(x1 right)T left(x2−x1 right) leq0
Rightarrow left( bigtriangledownf left(x2 right)− bigtriangledownf left(x1 right) right)T left(x1−x2 right) leq0
Rightarrow left( bigtriangledownf left(x2 right)− bigtriangledownf left(x1 right) right)T left(x2−x1 right) geq0
обратный
Пусть для любого x1,x2 inS, left( bigtriangledownf left(x2 right)− bigtriangledownf left(x1 right) right)T left(x2−x1 right) geq0
Чтобы показать, что f выпуклая.
Пусть x1,x2 inS, то есть по теореме о среднем значении fracf left(x1 right)−f left(x2 right)x1−x2= bigtriangledownf left(x right),x in left(x1−x2 right) Rightarrowx= lambdax1+ left(1− lambda right)x2, поскольку S — выпуклое множество.
Rightarrowf left(x1 right)−f left(x2 right)= left( bigtriangledownf left(x right)T right) left(x1−x2 right)
за x,x1 мы знаем —
left( bigtriangledownf left(x right)− bigtriangledownf left(x1 right) right)T left(x−x1 right) geq0
Rightarrow left( bigtriangledownf left(x right)− bigtriangledownf left(x1 right) right)T left( lambdax1+ left(1− lambda right)x2−x1 right) geq0
Rightarrow left( bigtriangledownf left(x right)− bigtriangledownf left(x1 right) right)T left(1− lambda right) left(x2−x1 right)) geq0
Rightarrow bigtriangledownf left(x right)T left(x2−x1 right) geq bigtriangledownf left(x1 right)T left(x2−x1 right)
Комбинируя вышеприведенные уравнения, получим —
Rightarrow bigtriangledownf left(x1 right)T left(x2−x1 right) leqf left(x2 right)−f left(x1 right)
Следовательно, используя последнюю теорему, f является выпуклой функцией.
Дважды дифференцируемая функция
Пусть S — непустое подмножество в mathbbRn, и пусть f:S rightarrow mathbbR, тогда f называется дважды дифференцируемым в barx inS, если существует вектор bigtriangledownf left( barx right),матрицаnXn H left(x right) (называемая гессианской матрицей) и функция alpha: mathbbRn rightarrow mathbbR такой, что f left(x right)=f left( barx+x− barx right)=f left( barx right)+ bigtriangledownf left( barx right)T left(x− barx right)+ frac12 left(x− barx right)H left( barx right) left(x− barx right)
где alpha left( barx,x− barx right) rightarrowOasx rightarrow barx