Главная страница

Матстат. Семинар 1 Матричновекторное дифференцирование


Скачать 0.54 Mb.
НазваниеСеминар 1 Матричновекторное дифференцирование
АнкорМатстат
Дата09.10.2019
Размер0.54 Mb.
Формат файлаpdf
Имя файлаMOMO18_Seminar1.pdf
ТипСеминар
#89225

Методы оптимизации, ВМК, осень 2018
Семинар 1: Матрично-векторное дифференцирование
1
Матрично-векторное дифференцирование
1.1
Теория
Для вычисления большинства производных, которые возникают на практике, достаточно лишь небольшой таблицы стандартных производных и правил преобразования. Удобнее всего оказывается работать в терминах «дифференциала» — с ним можно не задумываться о промежуточных размерно- стях, а просто применять стандартные правила.
Замечание: В этом разделе описана сама техника матрично-векторного дифференцирования. Для более подробного описания математической теории, лежащей в основе этой техники, см. раздел A.
Правила преобразования dA = 0
d(αX) = α(dX)
d(AXB) = A(dX)B
d(X + Y ) = dX + dY
d(X
T
) = (dX)
T
d(XY ) = (dX)Y + X(dY )
dhX, Y i = hdX, Y i + hX, dY i d
 X
φ

=
φdX − (dφ)X
φ
2
Таблица стандартных производных dhA, Xi = hA, dXi dhAx, xi = h(A + A
T
)x, dxi dhAx, xi = 2hAx, dxi
(если A = A
T
)
d(Det(X)) = Det(X)hX
−T
, dXi d(X
−1
) = −X
−1
(dX)X
−1
Здесь A, B — фиксированные матрицы; α — фиксированный скаляр; X, Y — произвольные дифферен- цируемые матричные функции (согласованные по размерностям, чтобы все операции имели смысл);
φ — произвольная дифференцируемая скалярная функция.
Одним из самых важных является правило производной композиции. Пусть g(Y ) и f (X) — две дифференцирумые функции, и мы знаем выражения для их дифференциалов: dg(Y ) и df (X). Чтобы посчитать производную композиции φ(X) := g(f (X)), как и в скалярном случае, нужно:
• взять выражение посчитанного дифференциала dg(Y );
• подставить в него вместо Y значение f (X), а вместо dY значение df (X).
Пример
Рассмотрим функцию φ(x) := lnhAx, xi, где A ∈ S
n
++
. В данном случае g(y) := ln(y),
dg(y) =
dy y
;
f (x) := hAx, xi,
df (x) = 2hAx, dxi.
Подставляем формально в dg(y) вместо y выражение для f (x) = hAx, xi, a вместо dy выражение для df (x) = 2hAx, dxi:
dφ(x) =
2hAx, dxi hAx, xi
(В нотации с «D»-большим:
Dφ(x)[h] =
2hAx, hi hAx, xi
).
Обычно, все возникающие на практике матрично-векторные функции составлены с помощью таб- личных функций и стандартных операций над ними. Благодаря универсальности приведённых правил,
1
дифференцировать сколь угодно сложные функции такого типа становится настолько же просто, как и дифференцировать одномерные функции.
Полученное в конце концов выражение нужно привести к одному из канонических видов:
Вход
Выход
Скаляр
Вектор
Матрица
Скаляр df (x) = f
0
(x)dx


(f
0
(x): скаляр; dx: скаляр)
Вектор df (x) = h∇f (x), dxi df (x) = J
f
(x)dx

(∇f (x): вектор; dx: вектор)
(J
f
(x): матрица; dx: вектор)
Матрица df (X) = h∇f (X), dXi


(∇f (X): матрица; dX: матрица)
Случаи, отмеченные «−», нас интересовать не будут. Объект ∇f (x) (вектор для функции векторного аргумента и матрица для функции матричного аргумента) называется градиентом. Матрица J
f
(x)
называется матрицей Якоби.
Найти вторую производную функции f (X) можно по следующему «алгоритму»:
◦ посчитать первую производную функции; зафиксировать в выражениии для df (X) приращение dX — обозначить его как dX
1
;
◦ посчитать производную для функции g(X) = df (X), считая dX
1
фиксированным (константа).
Новое приращение обозначать dX
2
Пример
Ввернёмся к функции φ(x) = lnhAx, xi, где A ∈ S
n
++
. Мы уже посчитали её первую производную:
dφ(x) =
2hAx,dxi hAx,xi
. Обозначим dx за dx
1
и рассмотрим новую функцию:
g(x) =
2hAx, dx
1
i hAx, xi
Найдём производную g(x), считая, что dx
1
— константный вектор:
d
2
φ(x) = d
 2hAx, dx
1
i hAx, xi

=
d(2hAx, dx
1
i)hAx, xi − 2hAx, dx
1
idhAx, xi hAx, xi
2
=
2hAdx
1
, dx
2
ihAx, xi − 2hAx, dx
1
i2hAx, dx
2
i hAx, xi
2
=

2A
hAx, xi

4Axx
T
A
hAx, xi
2

dx
1
, dx
2

(В нотации с D-большим: D
2
φ(x)[h
1
, h
2
] =
D
2A
hAx,xi

4Axx
T
A
hAx,xi
2

h
1
, h
2
E
.)
Для второй производной каноническая форма для скалярной функции векторного аргумента d
2
f (x) = h∇
2
f (x)dx
1
, dx
2
i.
Матрица ∇
2
f (x) называется гессианом. Для дважды непрерывно дифференцируемых функций гес- сиан является симметричной матрицей.
1.2
Задачи
Задача 1 (Квадратичная функция). Найти первую и вторую производные df (x) и d
2
f (x), а также градиент ∇f (x) и гессиан ∇
2
f (x) функции f (x) :=
1 2
hAx, xi − hb, xi + c,
x ∈ R
n
,
2
где A ∈ S
n
, b ∈ R
n
, c ∈ R.
Решение. Найдем первую производную:
df (x) = d
 1 2
hAx, xi − hb, xi + c

=
1 2
dhAx, xi − dhb, xi =
1

2 
2hAx, dxi − hb, dxi = hAx − b, dxi .
Заметим, что df (x) уже записан в канонической форме df (x) = h∇f (x), dxi, поэтому
∇f (x) = Ax − b .
Теперь найдём вторую производную:
d
2
f (x) = dhAx − b, dx
1
i = hd(Ax − b), dx
1
i = hd(Ax), dx
1
i = hAdx
2
, dx
1
i .
Чтобы найти гессиан, приведем d
2
f (x) к канонической форме d
2
f (x) = h∇
2
f (x)dx
1
, dx
2
i:
d
2
f (x) = hAdx
1
, dx
2
i


2
f (x) = A .
Задача 2. Найти первую и вторую производные df (x) и d
2
f (x), а также градиент ∇f (x) и гессиан

2
f (x) функции f (x) :=
1 2
kAx − bk
2 2
,
x ∈ R
n
,
где A ∈ R
m×n
, b ∈ R
n
Решение. Найдем первую производную:
df (x) = d
 1 2
kAx − bk
2 2

= {d(kxk
2 2
) = dhx, xi = 2hx, dxi} =
1

2 
2hAx − b, d(Ax − b)i = hAx − b, Adxi .
Чтобы найти градиент, приведем df (x) к канонической форме df (x) = h∇f (x), dxi:
df (x) = hA
T
(Ax − b), dxi

∇f (x) = A
T
(Ax − b) .
Теперь найдём вторую производную:
d
2
f (x) = dhAx − b, Adx
1
i = hd(Ax − b), Adx
1
i = hAdx
2
, Adx
1
i = hdx
2
, A
T
Adx
1
i .
Чтобы найти гессиан, приведем d
2
f (x) к канонической форме d
2
f (x) = h∇
2
f (x)dx
1
, dx
2
i:
d
2
f (x) = hA
T
Adx
1
, dx
2
i


2
f (x) = A
T
A .
Задача 3 (Куб евклидовой нормы). Найти первую и вторую производные df (x) и d
2
f (x), а также градиент ∇f (x) и гессиан ∇
2
f (x) функции f (x) :=
1 3
kxk
3 2
,
x ∈ R
n
3

Решение. Найдем первую производную:
df (x) = d
 1 3
kxk
3 2

=
1 3
dhx, xi
3/2
=
1

3

3 2
hx, xi
1/2
dhx, xi =
1

2
kxk
2
(

2hx, dxi) = kxk
2
hx, dxi .
Чтобы найти градиент, приведем df (x) к канонической форме df (x) = h∇f (x), dxi:
df (x) = hkxk
2
x, dxi

∇f (x) = kxk
2
x .
Теперь найдем вторую производную:
d
2
f (x) = d(kxk
2
hx, dx
1
i) = d(kxk
2
)
|
{z
}
=d(hx,xi
1/2
)
hx, dx
1
i + kxk
2
dhx, dx
1
i
=
 1

2
hx, xi
−1/2
(

2hx, dx
2
i

hx, dx
1
i + kxk
2
hdx
2
, dx
1
i
= kxk
−1 2
hx, dx
2
ihx, dx
1
i + kxk
2
hdx
2
, dx
1
i .
Чтобы найти гессиан, приведем d
2
f (x) к канонической форме d
2
f (x) = h∇
2
f (x)dx
1
, dx
2
i:
d
2
f (x) = kxk
−1 2
hdx
1
, xihx, dx
2
i + kxk
2
hdx
1
, dx
2
i
= h(kxk
−1 2
xx
T
+ kxk
2
I
n
)dx
1
, dx
2
i


2
f (x) = kxk
−1 2
xx
T
+ kxk
2
I
n
Отметим, что полученная формула для гессиана (и второй производной) верна только при x 6= 0, поскольку значение kxk
−1 2
не определено для x = 0. Такое ограничение возникло из-за того, что в самом начале мы воспользовались правилом произведения, и у нас возникла производная d(kxk
2
), которая не существует в точке x = 0. Тем не менее, можно показать, что рассматриваемая функция f является всюду дважды непрерывно дифференцируемой, и ее вторая производная в точке x = 0 равна нулю. Таким образом, можно сказать, что полученная формула, на самом деле, верна для любых значений x, с оговоркой, что в точке x = 0 значение kxk
−1 2
xx
T
надо понимать как 0 (предел при x → 0).
Задача 4 (Евклидова норма). Найти первую и вторую производные df (x) и d
2
f (x), а также градиент
∇f (x) и гессиан ∇
2
f (x) функции f (x) := kxk
2
,
x ∈ R
n
\ {0}.
Решение. Найдем первую производную:
df (x) = d(kxk
2
) = d(hx, xi
1/2
) =
1 2
hx, xi
−1/2
dhx, xi =
1

2
kxk
−1 2

2hx, dxi = kxk
−1 2
hx, dxi .
Чтобы найти градиент, приведем df (x) к канонической форме df (x) = h∇f (x), dxi:
df (x) = hkxk
−1 2
x, dxi

∇f (x) = kxk
−1 2
x .
Теперь найдем вторую производную:
d
2
f (x) = d(kxk
−1 2
hx, dx
1
i) = d(kxk
−1 2
)hx, dx
1
i + kxk
−1 2
dhx, dx
1
i
= −kxk
−2 2
d(kxk
2
)hx, dx
1
i + kxk
−1 2
hdx
2
, dx
1
i
= −kxk
−2 2
(kxk
−1 2
hx, dx
2
i)hx, dx
1
i + kxk
−1 2
hdx
2
, dx
1
i
= kxk
−1 2
hdx
2
, dx
1
i − kxk
−3 2
hx, dx
2
ihx, dx
1
i .
4

Чтобы найти гессиан, приведем d
2
f (x) к канонической форме d
2
f (x) = h∇
2
f (x)dx
1
, dx
2
i:
d
2
f (x) = kxk
−1 2
(hdx
1
, dx
2
i − kxk
−2 2
hdx
1
, xihx, dx
2
i)
= hkxk
−1 2
(I
n
− kxk
−2 2
xx
T
)dx
1
, dx
2
i


2
f (x) = kxk
−1 2
(I
n
− kxk
−2 2
xx
T
) .
Задача 5 (Логистическая функция). Найти первую и вторую производные df (x) и d
2
f (x), а также градиент ∇f (x) и гессиан ∇
2
f (x) функции f (x) := ln(1 + exp(ha, xi)),
x ∈ R
n
,
где a ∈ R
n
Решение. Найдем первую производную:
df (x) = d(ln(1 + exp(ha, xi))) =

d(ln(x)) =
dx x

=
d(1 + exp(ha, xi))
1 + exp(ha, xi)
=
d(exp(ha, xi))
1 + exp(ha, xi)
= {d(exp(x)) = exp(x)dx} =
exp(ha, xi)dha, xi
1 + exp(ha, xi)
=
exp(ha, xi)ha, dxi
1 + exp(ha, xi)
=
ha, dxi
1 + exp(−ha, xi)
= σ(ha, xi)ha, dxi .
Здесь введено обозначение σ : R → R для сигмоидной функции:
σ(x) :=
1 1 + exp(−x)
Чтобы найти градиент, приведем df (x) к канонической форме df (x) = h∇f (x), dxi:
df (x) = hσ(ha, xi)a, dxi

∇f (x) = σ(ha, xi)a .
Таким образом, градиент ∇f (x) — это вектор, коллинеарный вектору a с коэффициентом σ(ha, xi) ∈ (0, 1). В
зависимости от точки x меняется лишь длина вектора ∇f (x), но не его направление.
Теперь найдем вторую производную:
d
2
f (x) = d(σ(ha, xi)ha, dx
1
i) = d(σ(ha, xi))ha, dx
1
i = {d(σ(x)) = σ
0
(x)dx} = (σ
0
(ha, xi)dha, xi)ha, dx
1
i
= σ
0
(ha, xi)ha, dx
2
iha, dx
1
i = {σ
0
(x) = σ(x)(1 − σ(x))}
= σ(ha, xi)(1 − σ(ha, xi))ha, dx
2
iha, dx
1
i .
Чтобы найти гессиан, приведем d
2
f (x) к канонической форме d
2
f (x) = h∇
2
f (x)dx
1
, dx
2
i:
d
2
f (x) = σ(ha, xi)(1 − σ(ha, xi))hdx
1
, aiha, dx
2
i
= h(σ(ha, xi)(1 − σ(ha, xi))aa
T
)dx
1
, dx
2
i


2
f (x) = σ(ha, xi)(1 − σ(ha, xi))aa
T
Заметим, что гессиан ∇
2
f (x) — это одноранговая матрица, пропорциональная матрице aa
T
с коэффициентом
σ(ha, xi)(1 − σ(ha, xi)) ∈ (0, 0.25). Точка x влияет лишь на коэффициент пропорциональности.
Задача 6 (Логарифм определителя). Найти первую и вторую производные df (X) и d
2
f (X), а также градиент ∇f (X) функции f (X) := ln(Det(X)),
заданной на множестве S
n
++
в пространстве S
n
5

Решение. Найдём первую производную:
df (X) = d(ln Det(X)) =

d(ln(x)) =
dx x

=
d(Det(X))
Det(X)
= 


Det(X) hX
−1
, dXi



Det(X)
= hX
−1
, dXi .
Заметим, что df (X) уже и так записан в канонической форме df (X) = h∇f (X), dXi.
1
Поэтому,
∇f (X) = X
−1
Теперь найдем вторую производную:
d
2
f (X) = dhX
−1
, dX
1
i = hd(X
−1
), dX
1
i = h−X
−1
(dX
2
)X
−1
, dX
1
i = −hX
−1
(dX
2
)X
−1
, dX
1
i .
В итоге получилась билинейная форма от приращений dX
1
и dX
2
в пространстве матриц.
Рассмотрим
D
2
f (X)[H, H] = −hX
−1
HX
−1
, Hi.
Покажем, что D
2
f (X)[H, H] имеет отрицательный знак для всех X ∈ S
n
++
и H ∈ S
n
, т. е. что функ- ция f является вогнутой функцией. Действительно, раскладывая X
−1
= X
−1/2
X
−1/2
, перепишем
D
2
f (X)[H, H] в следующем виде:
D
2
f (X)[H, H] = −hX
−1/2
HX
−1/2
, X
−1/2
HX
−1/2
i = −kX
−1/2
HX
−1/2
k
2
F
Отсюда видно, что D
2
f (X)[H, H], действительно, имеет отрицательный знак.
Задача 7. Найти производную df (X) и градиент ∇f (X) функции f (X) := kAX − Bk
F
,
X ∈ R
k×n
,
где A ∈ R
m×k
, B ∈ R
m×n
Решение. Вычислим отдельно d(kXk
F
):
d(kXk
F
) = d(hX, Xi
1/2
) =

d(x
1/2
) =
1 2
x
−1/2
dx

=
1 2
hX, Xi
−1/2
dhX, Xi
=
1

2
kXk
−1
F

2hX, dXi = kXk
−1
F
hX, dXi.
Теперь используем полученную формулу, чтобы найти df (X):
df (X) = d(kAX − Bk
F
) = kAX − Bk
−1
F
hAX − B, d(AX − B)i
= kAX − Bk
−1
F
hAX − B, AdXi .
Чтобы найти градиент, приведем df (X) к канонической форме df (X) = h∇f (X), dXi:
df (X) = hkAX − Bk
−1
F
A
T
(AX − B), dXi

∇f (X) = kAX − Bk
−1
F
A
T
(AX − B) .
1
В этом примере мы работаем в пространстве симметричных матриц S
n
, поэтому знак транспонирования можно опустить.
6

Задача 8. Найти производную df (X) и градиент ∇f (X) функции f (X) := Tr(AXBX
−1
),
X ∈ R
n×n
, Det(X) 6= 0,
где A, B ∈ R
n×n
Решение. Для удобства перепишем след через скалярное произведение:
f (X) = hI
n
, AXBX
−1
i.
Найдем первую производную:
df (X) = dhI
n
, AXBX
−1
i = hI
n
, d(AXBX
−1
)i = hI
n
, (d(AXB))X
−1
+ (AXB)d(X
−1
)i
= hI
n
, (A(dX)B)X
−1
+ (AXB)(−X
−1
(dX)X
−1
)i = hI
n
, A(dX)BX
−1
− AXBX
−1
(dX)X
−1
i .
Чтобы найти градиент, приведем df (X) к канонической форме df (X) = h∇f (X), dXi:
df (X) = hI
n
, A(dX)BX
−1
i − hI
n
, AXBX
−1
(dX)X
−1
i =
= hA
T
X
−T
B
T
, dXi − hX
−T
B
T
X
T
A
T
X
−T
, dXi
= hA
T
X
−T
B
T
− X
−T
B
T
X
T
A
T
X
−T
, dXi

∇f (X) = A
T
X
−T
B
T
− X
−T
B
T
X
T
A
T
X
−T
Задача 9. Рассмотрим функцию скалярного аргумента
φ(α) := f (x + αp),
α ∈ R,
где x, p ∈ R
n
, f : R
n
→ R — дважды непрерывно дифференцируемая функция. Найдите первую и вторую производные φ
0
(α) и φ
00
(α) и выразите их через градиент ∇f (·) и гессиан ∇
2
f (·).
Решение. В этой задаче нужно постоянно помнить, что дифференцирование выполняется по α, а x —
постоянный вектор.
Найдем первую производную:
dφ(α) = d
α
(f (x + αp)) = {df (x) = h∇f (x), dxi} = h∇f (x + αp), d
α
(x + αp)i
= h∇f (x + αp), (dα)pi = h∇f (x + αp), pidα.
Здесь последнее равенство следует из того, что dα — это скаляр. Заметим, что мы представили dφ(α)
в канонической форме dφ(α) = φ
0
(α)dα. Значит,
φ
0
(α) = h∇f (x + αp), pi .
Теперь найдем вторую производную:
d
2
φ(α) = d
α
(h∇f (x + αp), pidα
1
) = hd
α
∇f (x + αp), pidα
1
= {d∇f (x) = ∇
2
f (x)dx}
= h∇
2
f (x + αp)d
α
(x + αp), pidα
1
= h∇
2
f (x + αp)(dα
2
)p, pidα
1
= h∇
2
f (x + αp)p, pidα
1

2
Таким образом, из канонической формы d
2
φ(α) = φ
00
(α)α
1
α
2
, получаем
φ
00
(α) = h∇
2
f (x + αp)p, pi .
7

Задача 10. Рассмотрим функцию скалярного аргумента
φ(α) := kr(x + αp)k
2
,
α ∈ R
+
, r(x + αp) 6= 0,
где x, p ∈ R
n
, r : R
n
→ R
m
— дифференцируемое отображение. Найдите производную φ
0
(α) и выразите ее через матрицу Якоби J
r
(·).
Решение. В этой задаче, как и в предыдущей, нужно постоянно помнить, что дифференцирование выполняется по α, а x — постоянный вектор.
Найдем первую производную:
dφ(α) = d
α
(kr(x + αp)k
2
) =

dkxk
2
=
hx, dxi kxk
2

=
hr(x + αp), d
α
r(x + αp)i kr(x + αp)k
2
= {dr(x) = J
r
(x)dx}
=
hr(x + αp), J
r
(x + αp)d
α
(x + αp)i kr(x + αp)k
2
=
hr(x + αp), J
r
(x + αp)(dα)pi kr(x + αp)k
2
=
hr(x + αp), J
r
(x + αp)pi kr(x + αp)k
2
dα.
Отсюда
φ
0
(α) =
hr(x + αp), J
r
(x + αp)pi kr(x + αp)k
2 2
Условия оптимальности
2.1
Теория
Рассмотрим функцию f : X → R, где X ⊆ U — подмножество нормированного линейного простран- ства, например, U = R
n
— векторы или U = R
n×m
— матрицы.
Определение 2.1 (Локальные экстремумы). Точка x ∈ X называется точкой локального минимума функции f , если существует шар некоторого радиуса r > 0, с центром в этой точке: W = {z ∈ U :
kz − xk < r}, и выполнено:
f (x) ≤ f (z)
для любого z ∈ W ∩ X.
Если для всех z ∈ W кроме z = x в определении выполняется строгое неравенство, то локальный минимум называется строгим локальным минимумом.
Если неравенство выполнено в другую сторону, то точка x называется локальным максимумом.
Локальные минимумы и максимумы вместе называются локальными экстремумами.
Если функция является дифференцируемой, то отыскать её локальные экстремумы иногда удаётся с помощью следующих утверждений.
Утверждение 2.2 (условие оптимальности первого порядка). Пусть для функции f : X → R точка x является точкой локального экстремума.
Тогда если функция непрерывно-дифференцируема в окрестности этой точки, то её производная в этой точке равна нулю:
df (x) = 0.
Замечание 2.3. Равенство df (x) = 0 означает, что Df (x)[h] = 0 для любого h ∈ U .
Замечание 2.4. Напомним, что для функции векторного аргумента f : R
n
→ R ее производную всегда можно представить с помощью градиента: Df (x)[h] = h∇f (x), hi. В этом случае равенство производной нулю эквивалентно равенству нулю градиента:
df (x) = 0

h∇f (x), hi = 0 для любого h ∈ R
n

∇f (x) = 0.
8

Рис. 1: Пример экстремумов из Википедии.
Рис. 2: Примеры седловых точек (слева — красная точка, справа — белая) из Википедии.
Замечание 2.5. Важно понимать, что утверждение 2.2 является лишь необходимым условием ло- кального минимума. Например, для функции f (x) = x
2
производная равна нулю в единственной точке x = 0, и эта точка действительно является локальным минимумом функции (в данном случае и гло- бальным). Но для f (x) = x
3
, в той же точке x = 0 — производная равна нулю, но сама точка не является ни локальным минимумом, ни локальным максимумом.
Определение 2.6. Точка x называется стационарной точкой, если производная в ней обращается в ноль: df (x) = 0. Стационарная точка, которая не является ни локальным минимумом, ни локальным максимумом, называется седловой точкой.
В случае функции двух переменных «седловая точка» действительно напоминает седло. Но мы используем это понятие для произвольных функций, в значении, указанном выше.
Для классификации стационарных точек удобным оказывается следующее утверждение.
Утверждение 2.7 (условия оптимальности второго порядка). Пусть функции f : X → R дважды непрерывно дифференцируема в окрестности стационарной точки x ∈ X. Тогда:
9

• если D
2
f (x)[h, h] > 0 для всех h ∈ U, h 6= 0, то x — строгий локальный минимум;
• если D
2
f (x)[h, h] < 0 для всех h ∈ U, h 6= 0, то x — строгий локальный максимум;
• если существует h, h
0
∈ U такие, что: D
2
f (x)[h, h] > 0 и D
2
f (x)[h
0
, h
0
] < 0, то x — седловая точка.
Также, справедливы и необходимые условия оптимальности второго порядка:
• если x — локальный минимум, то D
2
f (x)[h, h] ≥ 0 для всех h ∈ U ;
• если x — локальный максимум, то D
2
f (x)[h, h] ≤ 0 для всех h ∈ U .
Замечание 2.8. Напомним, что для функции векторного аргумета f : R
n
→ R её вторую производную всегда можно представить с помощью матрицы — гессиана:
D
2
f (x)[h, h] = h∇
2
f (x)h, hi.
В этом случае утверждение 2.7 можно переписать в терминах знакоопределённости гессиана:
• если ∇
2
f (x)  0, то x — строгий локальный минимум;
• если ∇
2
f (x) ≺ 0, то x — строгий локальный максимум;
• если ∇
2
f (x) — неопределённая матрица (т.е. не выполнено ни ∇
2
f (x)  0 ни ∇
2
f (x)  0), то x —
седловая точка.
• если x — локальный минимум, то ∇
2
f (x)  0;
• если x — локальный максимум, то ∇
2
f (x)  0.
Итак, в общем случае условие оптимальности первого порядка (Df (x) = 0) является только необ- ходимым условием глобального минимума — точка x может быть не глобальным, а лишь локальным минимумом, или вообще локальным максимумом или седловой точкой. Тем не менее, для определенно- го класса функций — класса выпуклых функций — условие оптимальности первого порядка является не просто необходимым, но также и достаточным условием глобального минимума.
Утверждение 2.9 (Условие оптимальности первого порядка для выпуклой функции). Пусть X яв- ляется открытым множеством, и пусть f : X → R — выпуклая дифференцируемая функция. Точка x

∈ X является глобальным минимумом функции f тогда и только тогда, когда ∇f (x

) = 0. Дру- гими словами, любая стационарная точка выпуклой функции автоматически является глобальным минимумом.
2.2
Задачи
Задача 11. Рассмотрим фунцию f (x
1
, x
2
) = x
2 1
− x
2 2
+ 2x
1
. Найти все ее стационарные точки.
Решение. Найдем градиент и гессиан:
∇f (x
1
, x
2
) =
"
2x
1
+ 2
−2x
2
#

2
f (x
1
, x
2
) =


2 0
0
−2



всюду постоянная матрица.
Градиент обращается в ноль в единственной точке: (−1, 0).
Гессиан — неопределённая матрица, значит стационарная точка (−1, 0) — седловая.
Локальных экстремумов нет, функция неограниченная:
inf x∈R
2
f (x) = −∞,
sup x∈R
2
f (x) = +∞.
10

Задача 12 (Регрессия наименьших квадратов). Рассмотрим следующую задачу оптимизации:
min x∈R
n kAx − bk
2
,
где A ∈ R
m×n
, b ∈ R
m
, Rank(A) = n. Найдите множество ее решений и оптимальное значение целевой функции.
Решение. Прежде всего, перейдем от исходной негладкой задачи к эквивалентной ей гладкой:
min x∈R
n kAx − bk
2 2
(2.1)
Заметим, что при таком переходе меняется лишь оптимальное значение целевой функции, а множество оптимальных решений остается неизменным.
Чтобы найти решения (2.1), воспользуемся условием оптимальности первого порядка:
∇(kAx − bk
2 2
) = 2A
T
(Ax − b) = 0.
Заметим, что целевая функция в задаче (2.1) является выпуклой (как композиция выпуклой функции x 7→ kxk
2
и аффинного преобразования x 7→ Ax − b). Поэтому условие оптимальности первого порядка является не только необходимым, но также и достаточным условием того, что точка x является гло- бальным решением задачи (2.1). Итак, все решения задачи (2.1) — это решения следующей системы линейных уравнений, и только они:
A
T
Ax = A
T
b.
(2.2)
Уравнения (2.2) называются нормальными уравнениями. Заметим, что матрица A
T
A является обра- тимой, поскольку она имеет полный ранг: согласно условию, Rank(A) = n, и из линейной алгебры известно, что Rank(A
T
A) = Rank(A). Отсюда заключаем, что нормальные уравнения (2.2) имеют единственное решение x

= (A
T
A)
−1
A
T
b .
Таким образом, найденная точка x

является единственным решением исходной задачи. Оптимальное значение целевой функции при этом равно
Opt := kAx

− bk
2
= kA(A
T
A)
−1
A
T
b − bk
2
Матрица (A
T
A)
−1
A
T
называется псевдообратной (по Муру-Пенроузу) и обозначается A
+
. Это прямое обоб- щение понятия обратной матрицы для неквадратных матриц. Если A квадратная и обратимая, то псевдооб- ратная матрица A
+
совпадает с обратной матрицей A
−1
Матрица Π := A A
T
A

−1
A
T
называется проекционной матрицей и проектирует заданный вектор b на линейную оболочку, натянутую на столбцы матрицы A.
Отметим, что задача (2.1) имеет решения всегда, даже если Rank(A) < n. Действительно, как было показано выше, задача (2.1) разрешима тогда и только тогда, когда разрешимы нормальные уравнения (2.2). Нормальные уравнения (2.2) разрешимы тогда и только тогда, когда A
T
b ∈ Im(A
T
A), где Im(A
T
A) — образ матрицы A
T
A.
Из линейной алгебры известно, что Im(A
T
A) = Im(A
T
). Значит, условие A
T
b ∈ Im(A
T
A) всегда выполняется.
Итак, задача (2.1) всегда разрешима, и в случае Rank(A) < n имеет бесконечное множество решений. (Одно из возможных решений записывается через псевдообратную матрицу.)
Задача 13. Для следующей задачи оптимизации найдите ее множество решений и оптимальное зна- чение целевой функции:
min
X∈S
n
++
{hS, Xi − ln Det(X)},
где S ∈ S
n
++
11

Решение. Введем обозначение f (X) := hS, Xi − ln Det(X). Запишем условие оптимальности первого порядка:
∇f (X) = S − X
−1
= 0.
Заметим, что в нашем случае целевая функция f является выпуклой на рассматриваемом множестве
S
n
++
как сумма двух выпуклых функций: X 7→ hS, Xi и X 7→ − ln Det(X). Поэтому условие оптимально- сти первого порядка является не только необходимым, но также и достаточным условием глобального минимума.
Из уравнения оптимальности находим X = S
−1
. Итак, оптимальное решение единственное — это
X

= S
−1
Соответствующее оптимальное значение целевой функции равно
Opt := f (X

) = hS, S
−1
i − ln Det(S
−1
) = n + ln Det(S) .
12

A
Производные: теория
A.1
Определение
Начнём с напоминания понятия производной.
Для функции одной переменной f : R → R её производная в точке x обозначается f
0
(x) и опреде- ляется из равенства:
f (x + h) = f (x) + f
0
(x)h + o(h)
для всех достаточно малых h.
Другими словами, зафиксировав некоторую точку x, мы хотим приблизить изменение функции f (x +
h) − f (x) в окрестности этой точки с помощью линейной функции по h, и f
0
(x)h — наилучший способ это сделать.
Рассмотрим теперь более общую ситуацию.
Пусть U и V суть конечномерные линейные пространства с нормами. Основными примерами таких пространств для нас будут служить числа: R, векторы: R
n и матрицы: R
n×m
, а также их комбинации
(декартовы произведения).
Рассмотрим функцию f : X → V , где X ⊆ U .
Определение A.1 (Дифференцируемость). Пусть x ∈ X — внутренняя точка множества X, и пусть
L : U → V — линейный оператор. Будем говорить, что функция f дифференцируема в точке x с производной L, если для всех достаточно малых h ∈ U справедливо следующее разложение:
f (x + h) = f (x) + L[h] + o(khk).
(A.1)
Если для любого линейного оператора L : U → V функция f не является дифференцируемой в точке x с производной L, то будем говорить, что f не является дифференцируемой в точке x. Если точка x не является внутренней точкой множества X, то оставим понятие дифференцируемости функции f в точке x неопределенным.
Замечание A.2. Выражение o(khk) имеет стандартное значение:
f (x + h) − f (x) − L[h] = o(khk)
def
⇐⇒
lim h→0
kf (x + h) − f (x) − L[h]k khk
= 0.
Замечание A.3. Поскольку рассматриваемые пространства U и V являются конечномерными (а в конечномерном пространстве все нормы топологически эквивалентны), то не имеет значения, какие конкретно нормы используются в данном выше определении: если функция f является дифференци- руемой в точке x с производной L для одного выбора норм, то f также будет дифференцируемой в точке x с производной L для любого другого выбора норм.
Утверждение A.4. Предположим, что функция f дифференцируема в точке x с производной L
1
и также дифференцируема в точке x с производной L
2
. Тогда L
1
= L
2
Таким образом, если функция f является дифференцируемой в точке x, то ее производная L опре- деляется единственным образом. Будем обозначать ее символом df (x).
Замечание A.5. Объект df зависит от двух параметров: точка x ∈ X, в которой мы аппроксимируем функцию, и приращение h ∈ U , которое откладывается от зафиксированной точки:
df : X × U → V,
линейный по второму аргументу — по «h».
Замечание A.6. Встречаются разные обозначения производной фунции f в точке x:
Df (x)[h] ≡ df (x)[h] ≡ Df (x)[∆x] ≡ df (x)[∆x].
Все они обозначают одно и то же. При работе с определением производной, удобно явным образом указывать приращение (h или ∆x) в квадратных скобках. При вычислении производных на практи- ке, пользуясь уже известными посчитанными производными и свойствами пересчёта, приращение в квадратных скобках обычно не пишут: df (x) или даже просто df , когда понятно, о чём идёт речь.
13

Итак, производная функции в точке x — это линейный оператор df (x) который лучше всего ап- проксимирует приращение функции:
f (x + h) − f (x) ≈ Df (x)[h].
Ещё одним известным и важным понятием является производная функции по направлению. Ока- зывается, зная производную функции f мы можем легко посчитать её производную вдоль любого направления h.
Утверждение A.7. Пусть f дифференцируема в точке x. Выберем произвольное направление h.
Тогда:
Df (x)[h] =
∂f (x)
∂h
:= lim t→+0
f (x + th) − f (x)
t
То есть, чтобы посчитать
∂f (x)
∂h
— производную функции f вдоль направления h, достаточно при- менить df (x)[·] к этому направлению.
Набор векторов e
i
= (0, . . . , 0, 1
i
, 0, . . . , 0) ∈ R
n
,
i = 1, . . . , n называется стандартным базисом в R
n
Если для некоторого i у функции существует (двусторонняя) производная вдоль направления e i
,
то eё называют частной производной по i-ой координате:
∂f (x)
∂x i
:= lim t→0
f (x + te i
) − f (x)
t
= Df (x)[e i
].
Обратите внимание, что функция может быть недифференцируемой, даже если у неё существуют производные по всем направлениям.
Пример A.8. Рассмотрим функцию f (x) = kxk
2
. Найдём её производную по направлению h в точке x = 0:
∂kxk
2
∂h x=0
= lim t→+0
k0 + thk
2
− k0k
2
t
= lim t→+0
tkhk
2
t
= khk
2
Если бы функция f (x) = kxk
2
была дифференцируема в нуле, то по утверждению 2:
Df (0)[h] =
∂f (0)
∂h
= khk
2
,
но функция khk
2
не является линейной, что противоречит тому, что производная — линейный оператор.
Значит kxk
2
не дифференцируема в нуле, хотя и имеет производные вдоль всех направлений.
Градиент функции, матрица Якоби.
• В случае U = R
n
, V = R линейную функцию Df (x)[h] всегда можно представить с помощью скалярного произведения с некоторым вектором:
Df (x)[h] = ha x
, hi где a x
∈ R
n
— разный для каждого x.
Вектор a x
называется градиентом функции f в точке x и обозначается ∇f (x).
В стандартном базисе градиент функции представляется в виде вектора из частных производных:
∇f (x) =
∂f
∂x
1
(x), . . . ,
∂f
∂x n
(x)
!
∈ R
n
Как и все векторы у нас, этот вектор — вектор-столбец.
14

• В случае U = R
n×m
, V = R линейную функцию df (x)[H] всегда можно представить с помощью скалярного произведения с некоторой матрицей:
df (x)[H] = hA
x
, Hi,
A
x
, H ∈ R
n×m
Эта матрица также называется градиентом функции в точке x: ∇f (x) = A
x и в стандартном базисе (из матриц, у которых все нули, кроме одной единички) записывается в виде матрицы частных производных:
∇f (x) =
∂f
∂x ij
(x)
!
n,m i=1,j=1
• В случае U = R
m
, V = R
n
, линейный оператор df (x)[·], зафиксировав базисы, всегда можно представить матрицей:
Df (x)[h] = J
x h,
J
x
∈ R
n×m
Матрица J
x называется матрицей Якоби функции f . В стандартном базисе она состоит из част- ных производных:
J
x
=
∂f i
∂x j
(x)
!
n,m i=1,j=1
Утверждение A.9 (Дифференциальное исчисление). Пусть U и V — векторные пространства,
X — подмножество U , x ∈ X — внутренняя точка X. Справедливы следующие свойства:
(a) (Производная константы) Пусть f : X → V — постоянная функция, т. е. найдется v ∈ V ,
что f (x
0
) = v для всех x
0
∈ X. Тогда f дифференцируема в точке x, и df (x) = 0.
(b) (Производная тождественной функции) Пусть f : X → V — тождественная функция, т. е.
f (x
0
) = x
0
для всех x
0
∈ X. Тогда f дифференцируема в точке x, и ее производная — также тождественная функция: Df (x)[h] = h для всех h ∈ U .
(c) (Линейность) Пусть f : X → V и g : X → V — функции. Если f и g дифференцируемы в точке x, а c
1
, c
2
∈ R — числа, то функция (c
1
f + c
2
g) также дифференцируема в точке x, и d(c
1
f + c
2
g)(x) = c
1
df (x) + c
2
dg(x).
(d) (Правило произведения) Пусть α : X → R и f : X → V — функции. Если α и f дифференцируемы в точке x, то функция αf также дифференцируема в точке x, и
D(αf )(x)[h] = (Dα(x)[h])f (x) + α(x)(Df (x)[h])
для всех h ∈ U .
(e) (Правило композиции) Пусть Y — подмножество V , f : X → Y — функция. Также пусть
W — векторное пространство, g : Y → W — функция. Если f дифференцируема в точке x,
и g дифференцируема в точке f (x), то их композиция (g ◦ f ) : X → W (определенная как
(g ◦ f )(x) = g(f (x))) также будет дифференцируема в точке x, и
D(g◦f )(x) = Dg(f (x))
h df (x)
i или, более подробно,
D(g◦f )(x)[h] = Dg(f (x))
h
Df (x)[h]
i
(f ) (Правило частного) Пусть α : X → R и f : X → V — функции. Если α и f дифференцируемы в точке x, и если α не обращается в ноль на X, то функция (1/α)f также дифференцируема в точке x, и
D
 1
α
f

(x)[h] =
α(x)(Df (x)[h]) − (Dα(x)[h])f (x)
α(x)
2
для всех h ∈ U .
15

Доказательство. Первые четыре свойства доказываются по определению, а последнее выводится из правил произведения и композиции.
Заметим, что правило произведения в утверждении A.9 установлено только в случае, когда одна из функций является скалярной. Это понятно, поскольку в векторных пространствах определено лишь умножение на скаляр, а не на произвольный элемент векторного пространства. Тем не менее, в неко- торых частных случаях правило произведения остается верным даже если обе функции являются не скалярными. Например, справедливо следующее утверждение.
Утверждение A.10. Пусть U — векторное пространство, X — подмножество U , x ∈ X — внут- ренняя точка X. Пусть f : X → R
m×n и g : X → R
n×k
— матрично-значные функции. Предположим,
что f и g дифференцируемы в точке x. Тогда функция f g также дифференцируема в точке x, и
D(f g)(x)[h] = (Df (x)[h])g(x) + f (x)(Dg(x)[h]).
для всех h ∈ U . (Здесь под операцией умножения подразумевается матричное умножение, поэтому порядок множителей имеет значение.)
A.2
Вторая производная
Пусть функция f : X → V дифференцируема в каждой точке x ∈ X ⊆ U .
Рассмотрим производную функции f при фиксированном приращении h
1
∈ U как функцию от x:
g(x) = Df (x)[h
1
].
Определение A.11. Если для функции g в некоторой точке x существует производная, то она назы- вается второй производной функции f в точке x:
D
2
f (x)[h
1
, h
2
] := Dg(x)[h
2
].
Можно показать, что D
2
f (x)[h
1
, h
2
] является билинейной функцией по h
1
и h
2
По аналогии определяются третья: D
3
f (x)[h
1
, h
2
, h
3
], четвёртая и производные более высоких по- рядков.
Если производная df (x) является непрерывной функцией по x, то говорят, что f — непрерывно дифференцируема. Если вторая производная D
2
f (x) непрерывна по x, то тогда f — дважды непрерывно дифференцируема.
Для функций f : R
n
→ R вторую производную, как и любую билинейную форму, можно предста- вить с помощью матрицы:
D
2
f (x)[h
1
, h
2
] = hH
x h
1
, h
2
i,
H
x
∈ R
n×n
Матрица H
x называется гессианом функции f в точке x и обозначается обычно ∇
2
f (x). В стан- дартном базисе эта матрица состоит из вторых частных производных:

2
f (x) =

2
f
∂x i
∂x j
(x)
!
n,n i=1,j=1
Для дважды непрерывно дифференцируемой функции её гессиан — симметричная матрица:

2
f (x) ∈ S
n
16

A.3
Формула Тейлора
Для дважды непрерывно-дифференцируемой функции справедлива формула Тейлора:
f (x + h) = f (x) + Df (x)[h] +
1 2
D
2
f (x)[h, h] + o(khk
2
).
Для функции f : R
n
→ R её можно записать, используя градиент и гессиан:
f (x + h) = f (x) + h∇f (x), hi +
1 2
h∇
2
f (x)h, hi + o(khk
2
).
Если функция имеет непрерывные производные до порядка k включительно, то формулу Тейлора можно записать до k-ой производной:
f (x + h) = f (x) + Df (x)[h] +
1 2!
D
2
f (x)[h, h] +
1 3!
D
3
f (x)[h, h, h] + · · · +
1
k!
D
k f (x)[h, . . . , h] + o(khk k
).
A.4
Подсчет табличных производных
Замечание: всюду в дальнейшем k · k обозначает (для краткости) евклидову норму для векторов и спектральную (операторную) норму для матриц.
Пример A.12 (Линейная функция). Пусть c ∈ R
n
, и пусть f : R
n
→ R — функция f(x) := hc, xi.
Покажем, что f является дифференцируемой в произвольной точке x ∈ R
n и найдем ее производную df (x) : R
n
→ R. Для этого зафиксируем произвольное приращение аргумента h ∈ R
n и вычислим соответствующее приращение функции:
f (x + h) − f (x) = hc, x + hi − hc, xi = hc, hi.
Заметим, что отображение h 7→ hc, hi является линейным. Значит, для функции f справедливо разложе- ние (A.1) с Df (x)[h] := hc, hi. Таким образом, функция f является дифференцируемой в произвольной точке x ∈ R
n с производной Df (x)[h] = hc, hi.
Пример A.13 (Квадратичная форма). Пусть A ∈ R
n×n
, и пусть f : R
n
→ R — функция f(x) :=
hAx, xi. Зафиксируем произвольную точку x ∈ R
n и произвольное приращение аргумента h ∈ R
n и
вычислим соответствующее приращение функции:
f (x + h) − f (x) = hA(x + h), x + hi − hAx, xi = h(A + A
T
)x, hi + hAh, hi.
Заметим, что отображение h 7→ h(A + A
T
)x, hi является линейным, а hAh, hi = o(khk), поскольку для всех h ∈ R
n справедлива следующая цепочка неравентв:
|hAh, hi| ≤ khkkAhk ≤ kAkkhk
2
Здесь первое неравенство следует из неравенства Коши-Буняковского; второе неравенство следует из согласованности матричной и векторной норм. Таким образом, функция f дифференцируема в произ- вольной точке x ∈ R
n с производной Df (x)[h] = h(A + A
T
)x, hi.
Пример A.14 (Обратная матрица). Пусть S := {X ∈ R
n×n
: Det(X) 6= 0} — множество всех квад- ратных невырожденных матриц размера n. Рассмотрим функцию f : S → S, которая для каждой матрицы X ∈ S возвращает ее обратную: f (X) := X
−1
. Покажем, что f является дифференцируемой в любой точке X ∈ S. Для этого зафиксируем произвольное достаточно малое приращение аргумента
H ∈ R
n×n
(удовлетворяющее X +H ∈ S и kHk < 1/kX
−1
k) и рассмотрим соответствующее приращение функции:
f (X + H) − f (X) = (X + H)
−1
− X
−1
= (X(I
n
+ X
−1
H))
−1
− X
−1
= ((I
n
+ X
−1
H)
−1
− I
n
)X
−1 17

Оценим отдельно (I
n
+ X
−1
H)
−1
. Для этого разложим эту матрицу в ряд Неймана:
2
(I
n
+ X
−1
H)
−1
= I
n
− X
−1
H +

X
k=2
(−X
−1
H)
k
Заметим, что ряд, стоящий в правой части последнего равенства, является абсолютно сходящимся,
поскольку kX
−1
Hk < 1 в силу достаточной малости H. Покажем, что сумма этого ряда есть o(kHk):

X
k=2
(−X
−1
H)
k


X
k=2
k(−X
−1
H)
k k ≤

X
k=2
kX
−1
k k
kHk k
=
kX
−1
k
2
kHk
2 1 − kX
−1
k · kHk
Здесь первое неравенство следует из неравенства треугольника для нормы; второе неравенство следует из субмультипликативности нормы; далее вычисляется сумма геометрического ряда. Таким образом,
(I
n
+ X
−1
H)
−1
= I
n
− X
−1
H + o(kHk).
Подставляя это выражение в полученную выше формулу для приращения функции, получаем f (X + H) − f (X) = −X
−1
HX
−1
+ o(kHk).
Таким образом, функция f дифференцируема в произвольной точке X ∈ S с производной df (X)[H] =
−X
−1
HX
−1
Замечание A.15. Выведенную формулу для производной функции X
−1
можно очень просто полу- чить с помощью следующего трюка. Рассмотрим дифференциал единичной матрицы d(I
n
). С одной стороны, поскольку матрица постоянная, d(I
n
) = 0. С другой стороны, по правилу произведения,
dI
n
= d XX
−1
 = (dX)X
−1
+ Xd(X
−1
). Приравняв выражения, получим d(X
−1
) = −X
−1
(dX)X
−1
,
или, в другой форме, d(X
−1
)[H] = −X
−1
HX
−1
. Заметим, однако, что приведённое рассуждение не является полным доказательством тождества, так как предполагает, но не доказывает существование дифференциала d(X
−1
).
Пример A.16 (Определитель матрицы). Пусть f : R
n×n
→ R — функция f(X) := Det(X). Рассмотрим произвольную точку X ∈ R
n×n и произвольное приращение аргумента H ∈ R
n×n
. Будем предполагать,
что матрица X обратима. Выпишем соответветствующее приращение функции:
f (X +H)−f (X) = Det(X +H)−Det(X) = Det(X(I
n
+X
−1
H))−Det(X) = Det(X)(Det(I
n
+X
−1
H)−1).
Оценим отдельно Det(I
n
+ X
−1
H). Для этого воспользуемся тем, что определитель матрицы равен произведению ее собственных значений. Пусть λ
1
(X
−1
H), . . . , λ
n
(X
−1
H) — собственные значения мат- рицы X
−1
H (пронумерованные в произвольном порядке и, возможно, комплексные). Заметим, что собственными значениями матрицы I
n
+ X
−1
H будут 1 + λ
1
(X
−1
H), . . . , 1 + λ
n
(X
−1
H). Поэтому
Det(I
n
+ X
−1
H) =
n
Y
i=1
[1 + λ
i
(X
−1
H)] = 1 +
n
X
i=1
λ
i
(X
−1
H) +


X
1≤i≤j≤n
λ
i
(X
−1
H)λ
j
(X
−1
H) + . . .


,
где многоточие скрывает сумму всевозможных троек λ
i
(X
−1
H)λ
j
(X
−1
H)λ
k
(X
−1
H), всевозможных четверок и т. д. Заметим, что выражение, стоящее скобках, представляет из себя величину o(kHk).
Это следует из неравенства треугольника и того факта, что для произвольной матрицы A ∈ R
n×n все
2
Имеется в виду разложение (I
n
− A)
−1
=

P
k=0
A
k
, справедливое для любой матрицы A ∈ R
n×n
, такой, что kAk < 1.
Эта формула является обобщением известной формулы для суммы геометрического ряда: (1 − q)
−1
=

P
k=0
q k
для любого
|q| < 1.
18
ее собственные значения не превосходят по модулю ее нормы kAk. (Действительно, пусть λ ∈ C —
собственное значение матрицы A, и пусть x ∈ C
n
\ {0} — соответствующий собственный вектор: Ax =
λx. Тогда |λ|kxk = kAxk ≤ kAkkxk.) Таким образом,
Det(I
n
− X
−1
H) = 1 +
n
X
i=1
λ
i
(X
−1
H) + o(kHk) = 1 + Tr(X
−1
H) + o(kHk).
Подставляя полученное выражение в полученную выше формулу для приращения функции, получаем f (X + H) − f (X) = Det(X) Tr(X
−1
H) + o(kHk).
Таким образом, для любой обратимой матрицы X ∈ R
n×n функция f дифференцируема в точке X с производной df (x)[H] = Det(X) Tr(X
−1
H) = Det(X)hX
−T
, Hi.
Замечание A.17. Можно показать, что рассматриваемая функция f (X) = Det(X) будет диффе- ренцируемой всюду на R
n×n
, а не только на подмножестве обратимых матриц. Общая формула для производной в этом случае называется формулой Якоби и выглядит следующим образом: df (X)[H] =
Tr(Adj(X)H), где Adj(X) — присоединенная матрица к X. Заметим, что если X — невырожденная матрица, тогда Adj(X) = Det(X)X
−1
и формула Якоби переходит в доказанную формулу df (X)[H] =
Det(X) Tr(X
−1
H).
19


написать администратору сайта