原文链接:最优化算法(1):数学基础 | 远行的舟

从某种程度上说,我们生活中遇到的许许多多的问题,都可以看成是一个最优化问题。例如着装打扮、选择饭店、租购房屋、旅行规划等等。如果我们能将这些问题转化为目前数学上可解的最优化模型,并且我们掌握了求解相关最优化模型的最优化算法,那么我们或许能够生活得更聪明,更舒适,也更幸福。将生活问题转化为数学模型并不容易,它或许需要敏锐的头脑,需要长期的积累,需要灵光的乍泄,但掌握求解相关最优化模型的算法则相对容易多了。

1947 年,Dantzig 提出求解一般线性规划问题的单纯形法后,最优化开始成为一门独立的学科。历经 70 多年的风雨,在电子计算机的推动下,最优化理论与算法如今已在经济计划、工程设计、生产管理、交通运输等诸多方面得到广泛应用,并已发展成为当今应用数学领域一门十分活跃的学科。

最优化问题的一般形式为:

min⁡f(x)s.t.x∈X⊆Rn\begin{aligned} &\min \ f\left ( \boldsymbol{x} \right ) \\ &\ \mathrm{s.t.} \ \ \boldsymbol{x} \in X \subseteq R^n \end{aligned} ​min f(x) s.t.  x∈X⊆Rn​

其中 xxx 为决策变量 (decision variable),f(x)f\left(x \right)f(x) 为目标函数 (objective function),XXX 为约束集 (constraint set) 或可行域 (feasible region)。当 X=RnX = R^nX=Rn 时,称为无约束优化 (unconstrained optimization) 问题 ,否则称为约束优化 (constrained optimization) 问题。约束优化问题通常写为如下更具体的形式:

min⁡f(x)s.t.ci(x)=0,i∈Eci(x)≥0,i∈I\begin{aligned} &\min \ f\left ( \boldsymbol{x} \right ) \\ &\ \mathrm{s.t.} \ \ c_i\left(\boldsymbol{x}\right) = 0, i \in E \\ &\qquad \ c_i\left(\boldsymbol{x}\right) \geq 0, i \in I \end{aligned} ​min f(x) s.t.  ci​(x)=0,i∈E ci​(x)≥0,i∈I​

ci(x)=0,i∈Ec_i\left(\boldsymbol{x}\right) = 0, i \in Eci​(x)=0,i∈E 为等式约束 (equality constraint),ci(x)≥0,i∈Ic_i\left(\boldsymbol{x}\right) \geq 0, i \in Ici​(x)≥0,i∈I 为不等式约束 (inequality constraint),ci(x)c_i\left(\boldsymbol{x}\right)ci​(x) 为约束函数 (constraint function),EEE 和 III 分别是等式约束的指标集和不等式约束的指标集。当目标函数与约束函数均为线性函数时,约束优化问题称为线性规划 (linear programming),否则称为非线性规划 (nonlinear programming)。

本章,我们将主要介绍一些数学基础知识,为后续系统学习最优化算法打下坚实的基础,此外,我们还会对最优化算法的基本结构做个简要描述。现在,就让我们放下对数学符号的恐惧,拿起笔和纸,一起在属于 x, y 和 z 的王国里开始遨游吧。学习从来都是痛苦的过程,只有那些不惧艰险、勇于攀登的人,才能最终品尝到属于他们的、独一无二的、最甜也最美的果实。

1.1 线性代数

本节,我们介绍最优化理论中需要用到的线性代数知识,包括:范数、矩阵的逆与广义逆、矩阵的 Rayleigh 商和矩阵的秩一校正。

1.1.1 范数

范数是长度概念的推广,向量、矩阵均有范数。RnR^nRn 上的向量范数 (vector norm) 是一个从 Rn→RR^n \rightarrow RRn→R 的映射 ∥⋅∥\left \| \cdot \right \|∥⋅∥,它满足如下三个性质:

  • 非负性 (Positivity):∥x∥≥0,∀x∈Rn,∥x∥=0⇔x=0\left \| \boldsymbol{x} \right \| \geq 0,\ \forall \ \boldsymbol{x} \in R^n,\ \left \| \boldsymbol{x} \right \| = 0 \Leftrightarrow \boldsymbol{x} = 0∥x∥≥0, ∀ x∈Rn, ∥x∥=0⇔x=0
  • 齐次性 (Homogeneity):∥αx∥=∣α∣∥x∥,∀α∈R,x∈Rn\left \| \alpha \boldsymbol{x} \right \| =\left | \alpha \right |\left \| \boldsymbol{x} \right \|,\ \forall \alpha \in R, \ \boldsymbol{x} \in R^n∥αx∥=∣α∣∥x∥, ∀α∈R, x∈Rn
  • 三角不等式 (Triangle inequality):∥x+y∥≤∥x∥+∥y∥,∀x,y∈Rn\left \| \boldsymbol{x}+\boldsymbol{y} \right \| \leq \left \| \boldsymbol{x} \right \|+\left \| \boldsymbol{y} \right \|,\ \forall \ \boldsymbol{x},\boldsymbol{y} \in R^n∥x+y∥≤∥x∥+∥y∥, ∀ x,y∈Rn

向量 x=(x1,x2,⋯ ,xn)′\boldsymbol{x} = \left(x_1,x_2,\cdots,x_n\right)'x=(x1​,x2​,⋯,xn​)′ 的 lpl_plp​ 范数定义为:

∥x∥p=(∑i=1n∣xi∣p)1p,1≤p&lt;∞\left \| \boldsymbol{x} \right \|_p = \left ( \sum_{i=1}^{n}\left | x_i \right |^p \right )^{\frac{1}{p}},\ 1 \leq p &lt; \infty∥x∥p​=(i=1∑n​∣xi​∣p)p1​, 1≤p<∞

常用的向量范数如下所示:

  • l1l_1l1​ 范数 (l1&ThinSpace;&ThinSpace;norm)\left ( l_1\ \,\,\mathrm{norm} \right )(l1​ norm):

    ∥x∥1=∑i=1n∣xi∣\left \| \boldsymbol{x} \right \|_1 = \sum_{i=1}^{n}\left | x_i \right |∥x∥1​=i=1∑n​∣xi​∣

  • l2l_2l2​ 范数 (l2&ThinSpace;&ThinSpace;norm)\left ( l_2\ \,\,\mathrm{norm} \right )(l2​ norm):

    ∥x∥2=(∑i=1nxi2)12\left \| \boldsymbol{x} \right \|_2 = \left (\sum_{i=1}^{n} x_i^2 \right )^{\frac{1}{2}}∥x∥2​=(i=1∑n​xi2​)21​

  • l∞l_\inftyl∞​ 范数 (l∞norm)\left ( l_\infty\ \mathrm{norm} \right )(l∞​ norm):

    ∥x∥∞=max⁡1≤i≤n∣xi∣\left \| \boldsymbol{x} \right \|_\infty = \max_{1\leq i\leq n}\left | x_i \right |∥x∥∞​=1≤i≤nmax​∣xi​∣

  • 椭球范数 (ellipsoidalnorm)\left(\mathrm{ellipsoidal} \ \mathrm{norm}\right)(ellipsoidal norm):

    ∥x∥A=(xTAx)12,AT=A,An×n&gt;0\left \| \boldsymbol{x} \right \|_{\boldsymbol{A}} = \left ( x^T\boldsymbol{A}x \right )^{\frac{1}{2}},\boldsymbol{A}^T=\boldsymbol{A},\boldsymbol{A}_{n\times n} &gt; 0∥x∥A​=(xTAx)21​,AT=A,An×n​>0

上述四个向量范数是等价的,这是因为它们满足如下四个不等式:

∥x∥2≤∥x∥1≤n∥x∥2∥x∥∞≤∥x∥2≤n∥x∥∞∥x∥∞≤∥x∥1≤n∥x∥∞λmin(A)∥x∥2≤∥x∥A≤λmax(A)∥x∥2\left \| \boldsymbol{x} \right \|_2\ \ \leq \left \| \boldsymbol{x} \right \|_1 \leq \sqrt{n}\left \| \boldsymbol{x} \right \|_2 \\ \ \\ \left \| \boldsymbol{x} \right \|_\infty\ \leq \left \| \boldsymbol{x} \right \|_2 \leq \sqrt{n}\left \| \boldsymbol{x} \right \|_\infty \\ \ \\ \left \| \boldsymbol{x} \right \|_\infty\ \leq \left \| \boldsymbol{x} \right \|_1 \leq n\left \| \boldsymbol{x} \right \|_\infty \\ \ \\ \sqrt{\lambda_{\mathrm{min}}\left ( \boldsymbol{A} \right )}\left \| \boldsymbol{x} \right \|_2\ \ \leq \left \| \boldsymbol{x} \right \|_{\boldsymbol{A}} \leq \sqrt{\lambda_{\mathrm{max}}\left ( \boldsymbol{A} \right )}\left \| \boldsymbol{x} \right \|_2∥x∥2​  ≤∥x∥1​≤n​∥x∥2​ ∥x∥∞​ ≤∥x∥2​≤n​∥x∥∞​ ∥x∥∞​ ≤∥x∥1​≤n∥x∥∞​ λmin​(A)​∥x∥2​  ≤∥x∥A​≤λmax​(A)​∥x∥2​

其中 λmax(A)\lambda_{\mathrm{max}} \left ( \boldsymbol{A} \right )λmax​(A) 为矩阵 A\boldsymbol{A}A 的最大特征值,λmin(A)\lambda_{\mathrm{min}} \left ( \boldsymbol{A} \right )λmin​(A) 为矩阵 A\boldsymbol{A}A 的最小特征值。

等价范数:如果 ∃μ1,μ2&gt;0\exists \mu_1,\ \mu_2&gt;0∃μ1​, μ2​>0 使得 RnR^nRn 上的范数 ∥⋅∥α\left \| \cdot \right \|_\alpha∥⋅∥α​ 和 ∥⋅∥β\left \| \cdot \right \|_\beta∥⋅∥β​ 满足:μ1∥x∥α≤∥x∥β≤μ2∥x∥α\mu_1\left \| \boldsymbol{x} \right \|_\alpha \leq \left \| \boldsymbol{x} \right \|_\beta \leq \mu_2\left \| \boldsymbol{x} \right \|_\alphaμ1​∥x∥α​≤∥x∥β​≤μ2​∥x∥α​,∀x∈Rn\forall \ \boldsymbol{x}\in R^n∀ x∈Rn,则我们称 RnR^nRn 上的范数 ∥⋅∥α\left \| \cdot \right \|_\alpha∥⋅∥α​ 和 ∥⋅∥β\left \| \cdot \right \|_\beta∥⋅∥β​ 是等价的。

此外,关于向量范数,还有几个重要的不等式:

  • ∣xTAy∣≤∥x∥A∥y∥A,An×n&gt;0;∣xTAy∣=∥x∥A∥y∥A⇔x=cy,c≠0\left | \boldsymbol{x}^T\boldsymbol{A}\boldsymbol{y} \right |\leq\left \| \boldsymbol{x} \right \|_{\boldsymbol{A}}\left \| \boldsymbol{y} \right \|_{\boldsymbol{A}},\boldsymbol{A}_{n\times n}&gt;0;\ \left | \boldsymbol{x}^T\boldsymbol{A}\boldsymbol{y} \right |=\left \| \boldsymbol{x} \right \|_{\boldsymbol{A}}\left \| \boldsymbol{y} \right \|_{\boldsymbol{A}} \Leftrightarrow \boldsymbol{x}=c\boldsymbol{y},c\neq 0∣∣​xTAy∣∣​≤∥x∥A​∥y∥A​,An×n​>0; ∣∣​xTAy∣∣​=∥x∥A​∥y∥A​⇔x=cy,c̸​=0(待证明)
  • ∣xTy∣≤∥x∥A∥y∥A−1,An×n&gt;0;∣xTy∣=∥x∥A∥y∥A−1⇔x=cA−1y,c≠0\left | \boldsymbol{x}^T \boldsymbol{y} \right |\leq\left \| \boldsymbol{x} \right \|_{\boldsymbol{A}}\left \| \boldsymbol{y} \right \|_{\boldsymbol{A}^{-1}},\boldsymbol{A}_{n\times n}&gt;0;\ \left | \boldsymbol{x}^T\boldsymbol{y} \right |=\left \| \boldsymbol{x} \right \|_{\boldsymbol{A}}\left \| \boldsymbol{y} \right \|_{\boldsymbol{A^{-1}}} \Leftrightarrow \boldsymbol{x}=c\boldsymbol{A^{-1}y},c\neq 0∣∣​xTy∣∣​≤∥x∥A​∥y∥A−1​,An×n​>0; ∣∣​xTy∣∣​=∥x∥A​∥y∥A−1​⇔x=cA−1y,c̸​=0(待证明)
  • Young 不等式
    xy≤xpp+yqq,x,y≥0,1p+1q=1,p,q&gt;1;xy=xpp+yqq⇔xp=yqxy \leq \frac{x^p}{p}+\frac{y^q}{q},\ x,y \geq 0,\ \frac{1}{p}+\frac{1}{q}=1,\ p,q&gt;1;\ xy = \frac{x^p}{p}+\frac{y^q}{q}\Leftrightarrow x^p=y^qxy≤pxp​+qyq​, x,y≥0, p1​+q1​=1, p,q>1; xy=pxp​+qyq​⇔xp=yq

证明:当 x=0x = 0x=0 或 y=0y = 0y=0 时,显然成立;当 x,y&gt;0x,y &gt; 0x,y>0 时,令 t=1pt = \frac{1}{p}t=p1​、1−t=1q1-t = \frac{1}{q}1−t=q1​、a=xpa = x^pa=xp、b=yqb = y^qb=yq,因为 ln⁡(x)\ln \left(x \right)ln(x) 是一个凹函数,所以 ln⁡[ta+(1−t)b]≥tln⁡a+(1−t)ln⁡b\ln \left[ta + \left(1-t \right)b \right] \geq t\ln a + \left(1-t \right)\ln bln[ta+(1−t)b]≥tlna+(1−t)lnb,代入 t,1−t,a,bt,\ 1-t,\ a,\ bt, 1−t, a, b,然后两边同取指数运算,即得上式。

  • Holder 不等式(特例:Cauchy-Schwarz 不等式):
    ∣xTy∣≤∥x∥p∥y∥q,1p+1q=1,p,q&gt;1\left | \boldsymbol{x}^T \boldsymbol{y} \right |\leq \left \| \boldsymbol{x} \right \|_p\left \| \boldsymbol{y} \right \|_q,\ \frac{1}{p}+\frac{1}{q}=1,\ p,q&gt;1∣∣​xTy∣∣​≤∥x∥p​∥y∥q​, p1​+q1​=1, p,q>1

证明:由 Young 不等式有

∣xiyi∣∥x∥p∥y∥q≤1p(∣xi∣∥x∥p)p+1q(∣xi∣∥x∥q)q\frac{\left | x_iy_i \right |}{\left \| x \right \|_p\left \| y \right \|_q} \leq \frac{1}{p}\left ( \frac{\left | x_i \right |}{\left \| x \right \|_p} \right )^p + \frac{1}{q}\left ( \frac{\left | x_i \right |}{\left \| x \right \|_q} \right )^q∥x∥p​∥y∥q​∣xi​yi​∣​≤p1​(∥x∥p​∣xi​∣​)p+q1​(∥x∥q​∣xi​∣​)q
上述不等式两边关于 iii 求和得

1∥x∥p∥y∥q∑i=1n∣xiyi∣≤1p∥x∥pp∑i=1n∣xi∣p+1q∥y∥qq∑i=1n∣yi∣q=1p+1q=1\frac{1}{\left \| x \right \|_p\left \| y \right \|_q}\sum_{i=1}^{n}\left | x_iy_i \right | \leq \frac{1}{p\left \| x \right \|_p^p}\sum_{i=1}^{n}\left | x_i \right |^p + \frac{1}{q\left \| y \right \|_q^q}\sum_{i=1}^{n}\left | y_i \right |^q = \frac{1}{p} + \frac{1}{q} = 1∥x∥p​∥y∥q​1​i=1∑n​∣xi​yi​∣≤p∥x∥pp​1​i=1∑n​∣xi​∣p+q∥y∥qq​1​i=1∑n​∣yi​∣q=p1​+q1​=1
两边同乘 ∥x∥p∥y∥q\left \| x \right \|_p\left \| y \right \|_q∥x∥p​∥y∥q​ 即得结果。

  • Minkowski 不等式(范数定义中的第 3 条性质):
    ∥x+y∥p≤∥x∥p+∥y∥p,p≥1\left \| \boldsymbol{x}+\boldsymbol{y} \right \|_p\leq \left \| \boldsymbol{x} \right \|_p+\left \| \boldsymbol{y} \right \|_p,\ p \geq 1∥x+y∥p​≤∥x∥p​+∥y∥p​, p≥1

证明:当 x=0x = 0x=0 或 y=0y = 0y=0 时,显然成立;当 x,y&gt;0x,y &gt; 0x,y>0 时,令 t=∥x∥p∥x∥p+∥y∥pt = \frac{\left \| x \right \|_p}{\left \| x \right \|_p + \left \| y \right \|_p}t=∥x∥p​+∥y∥p​∥x∥p​​、1−t=∥y∥p∥x∥p+∥y∥p1-t = \frac{\left \| y \right \|_p}{\left \| x \right \|_p + \left \| y \right \|_p}1−t=∥x∥p​+∥y∥p​∥y∥p​​、a=∣xi∣∥x∥pa = \frac{\left | x_i \right |}{\left \| x \right \|_p}a=∥x∥p​∣xi​∣​、b=∣yi∣∥y∥pb = \frac{\left | y_i \right |}{\left \| y \right \|_p}b=∥y∥p​∣yi​∣​。因为 xp,x&gt;0x^p,\ x&gt;0xp, x>0 是凸函数,所以有 [ta+(1−t)b]p≤tap+(1−t)bp\left[ta + \left(1-t \right)b \right]^p \leq t a^p + \left(1-t \right) b^p[ta+(1−t)b]p≤tap+(1−t)bp,代入 t,1−t,a,bt,\ 1-t,\ a,\ bt, 1−t, a, b,然后两边同时对 iii 求和,可得

∑i=1n(∣xi∣+∣yi∣∥x∥p+∥y∥p)p≤1\sum_{i=1}^{n}\left ( \frac{\left | x_i \right |+\left | y_i \right |}{\left \| x \right \|_p + \left \| y \right \|_p} \right )^p \leq 1i=1∑n​(∥x∥p​+∥y∥p​∣xi​∣+∣yi​∣​)p≤1
所以

∑i=1n(∣xi+yi∣∥x∥p+∥y∥p)p≤∑i=1n(∣xi∣+∣yi∣∥x∥p+∥y∥p)p≤1\sum_{i=1}^{n}\left ( \frac{\left | x_i + y_i \right |}{\left \| x \right \|_p + \left \| y \right \|_p} \right )^p \leq \sum_{i=1}^{n}\left ( \frac{\left | x_i \right |+\left | y_i \right |}{\left \| x \right \|_p + \left \| y \right \|_p} \right )^p \leq 1i=1∑n​(∥x∥p​+∥y∥p​∣xi​+yi​∣​)p≤i=1∑n​(∥x∥p​+∥y∥p​∣xi​∣+∣yi​∣​)p≤1
不等号两边同取 ppp 次根,然后经恒等变换即得结果。

矩阵范数是向量范数的自然推广,Rm×nR^{m\times n}Rm×n 上的矩阵可视为 RmnR^{mn}Rmn 中的向量。Rm×nR^{m\times n}Rm×n 上的矩阵范数 (matrix norm) 是一个从 Rmn→RR^{mn} \rightarrow RRmn→R 的映射 ∥⋅∥\left \| \cdot \right \|∥⋅∥,它满足如下三个性质:

  • 非负性:∥A∥≥0,∀A∈Rm×n,∥A∥=0⇔A=O\left \| \boldsymbol{A} \right \| \geq 0,\ \forall \ \boldsymbol{A} \in R^{m\times n},\ \left \| \boldsymbol{A} \right \| = 0 \Leftrightarrow \boldsymbol{A} = \boldsymbol{O}∥A∥≥0, ∀ A∈Rm×n, ∥A∥=0⇔A=O,O\boldsymbol{O}O 为一个零矩阵
  • 齐次性:∥αA∥=∣α∣∥A∥,∀α∈R,A∈Rm×n\left \| \alpha \boldsymbol{A} \right \| =\left | \alpha \right |\left \| \boldsymbol{A} \right \|,\ \forall \alpha \in R, \ \boldsymbol{A} \in R^{m\times n}∥αA∥=∣α∣∥A∥, ∀α∈R, A∈Rm×n
  • 三角不等式:∥A+B∥≤∥A∥+∥B∥,∀A,B∈Rm×n\left \| \boldsymbol{A}+\boldsymbol{B} \right \| \leq \left \| \boldsymbol{A} \right \|+\left \| \boldsymbol{B} \right \|,\ \forall \ \boldsymbol{A},\boldsymbol{B} \in R^{m\times n}∥A+B∥≤∥A∥+∥B∥, ∀ A,B∈Rm×n

如果 ∀A∈Rm×n,x∈Rn\forall \boldsymbol{A} \in R^{m\times n},\ \boldsymbol{x} \in R^n∀A∈Rm×n, x∈Rn 有:

∥Ax∥≤∥A∥∥x∥\left \| \boldsymbol{Ax} \right \| \leq \left \| \boldsymbol{A} \right \|\left \| \boldsymbol{x} \right \|∥Ax∥≤∥A∥∥x∥

我们称该矩阵范数可由向量范数导出,或与向量范数兼容,诱导 (矩阵) 范数(induced norm)因此定义为(为什么 ∥A−1∥=1/min⁡∥x∥=1∥Ax∥\begin{aligned}\left \| \boldsymbol{A^{-1}} \right \| =1/ \min_{\left \| \boldsymbol{x} \right \|=1}\left \| \boldsymbol{Ax} \right \|\end{aligned}∥∥​A−1∥∥​=1/∥x∥=1min​∥Ax∥​):

∥A∥=max⁡x≠0∥Ax∥∥x∥=max⁡∥x∥=1∥Ax∥\left \| \boldsymbol{A} \right \| =\max_{\boldsymbol{x}\neq 0} \frac{\left \| \boldsymbol{Ax} \right \|}{ \left \| \boldsymbol{x} \right \|} = \max_{\left \| \boldsymbol{x} \right \|=1}\left \| \boldsymbol{Ax} \right \|∥A∥=x̸​=0max​∥x∥∥Ax∥​=∥x∥=1max​∥Ax∥

显然,上式给出的诱导范数的定义满足条件 ∥Ax∥≤∥A∥∥x∥\left \| \boldsymbol{Ax} \right \| \leq \left \| \boldsymbol{A} \right \|\left \| \boldsymbol{x} \right \|∥Ax∥≤∥A∥∥x∥,但要保证上式定义的合理性,f(x)=∥Ax∥f\left( \boldsymbol{x} \right) = \left \| \boldsymbol{Ax} \right \|f(x)=∥Ax∥ 在 D={x∈Rn:∥x∥=1}D = \left \{\boldsymbol{x} \in R^n: \left \| \boldsymbol{x} \right \| = 1 \right \}D={x∈Rn:∥x∥=1} 上必须存在最大值。根据向量范数的连续性,以及有界闭集上的连续函数必有最大最小值的定理,我们可以知道上述定义是合理的。

如果对 n×nn\times nn×n 正交矩阵 U\boldsymbol{U}U 有 ∥UA∥=∥A∥\left \| \boldsymbol{UA} \right \| = \left \| \boldsymbol{A} \right \|∥UA∥=∥A∥,则称 ∥⋅∥\left \| \cdot \right \|∥⋅∥ 为正交不变范数。常用的矩阵范数如下所示:

  • l1l_1l1​ 诱导范数 / 列和范数 (l1inducednorm)\left ( l_1\ \mathrm{induced\ norm} \right )(l1​ induced norm):

    ∥A∥1=max⁡j∥aj∥1=max⁡j∑i=1n∣aij∣\left \| \boldsymbol{A} \right \|_1 = \max_{j}\left \| \boldsymbol{a}_{j} \right \|_1 = \max_{j}\sum_{i=1}^{n}\left | a_{ij} \right |∥A∥1​=jmax​∥aj​∥1​=jmax​i=1∑n​∣aij​∣

  • l2l_2l2​ 诱导范数 / 谱范数 (l2inducednorm/spectralnorm)\left ( l_2\ \mathrm{induced\ norm \ / \ spectral \ norm} \right )(l2​ induced norm / spectral norm):

    ∥A∥2=λmax(ATA)\left \| \boldsymbol{A} \right \|_2 = \sqrt{\lambda_{\mathrm{max}} \left ( \boldsymbol{A}^T\boldsymbol{A} \right )}∥A∥2​=λmax​(ATA)​

  • l∞l_\inftyl∞​ 诱导范数 / 行和范数 (l∞inducednorm)\left ( l_\infty\ \mathrm{induced\ norm} \right )(l∞​ induced norm):

    ∥A∥∞=max⁡i∥ai∥1=max⁡i∑j=1n∣aij∣\left \| \boldsymbol{A} \right \|_\infty = \max_{i}\left \| \boldsymbol{a}_{i} \right \|_1 = \max_{i}\sum_{j=1}^{n}\left | a_{ij} \right |∥A∥∞​=imax​∥ai​∥1​=imax​j=1∑n​∣aij​∣

  • Frobenius 范数 (Frobeniusnorm)\left (\mathrm{Frobenius\ norm} \right )(Frobenius norm):

    ∥A∥F=(∑i=1n∑j=1n∣aij∣2)12=tr(ATA)\left \| \boldsymbol{A} \right \|_F = \left ( \sum_{i=1}^{n}\sum_{j=1}^{n}\left | a_{ij} \right |^2 \right )^{\frac{1}{2}} = \sqrt{\mathrm{tr}\left ( \boldsymbol{A}^T\boldsymbol{A} \right )}∥A∥F​=(i=1∑n​j=1∑n​∣aij​∣2)21​=tr(ATA)​

  • 这里 aj\boldsymbol{a}_{j}aj​ 为矩阵 A\boldsymbol{A}A 的第 jjj 列构成的向量,ai\boldsymbol{a}_{i}ai​ 为矩阵 A\boldsymbol{A}A 的第 iii 行构成的向量,λmax(ATA)\lambda_{\mathrm{max}} \left ( \boldsymbol{A}^T\boldsymbol{A} \right )λmax​(ATA) 为矩阵 ATA\boldsymbol{A}^T\boldsymbol{A}ATA 的最大特征值,tr(ATA)\mathrm{tr}\left ( \boldsymbol{A}^T\boldsymbol{A} \right )tr(ATA) 为矩阵 ATA\boldsymbol{A}^T\boldsymbol{A}ATA 的迹(主对角线上元素的和)

上述常用矩阵范数中,谱范数和 Frobenius 范数为正交不变范数。此外,上述常用矩阵范数均满足相容性条件

∥AB∥≤∥A∥∥B∥,∀A,B∈Rn×n\left \| \boldsymbol{AB} \right \| \leq \left \| \boldsymbol{A} \right \|\left \| \boldsymbol{B} \right \|,\ \forall \ \boldsymbol{A},\boldsymbol{B} \in R^{n\times n}∥AB∥≤∥A∥∥B∥, ∀ A,B∈Rn×n

且有(为什么成立):

∥AB∥F≤min⁡{∥A∥2∥B∥F,∥A∥F∥B∥2},∀A,B∈Rn×n\left \| \boldsymbol{AB} \right \|_F \leq \min \left \{ \left \| \boldsymbol{A} \right \|_2 \left \| \boldsymbol{B} \right \|_F,\left \| \boldsymbol{A} \right \|_F \left \| \boldsymbol{B} \right \|_2 \right \},\ \forall \ \boldsymbol{A},\boldsymbol{B} \in R^{n\times n}∥AB∥F​≤min{∥A∥2​∥B∥F​,∥A∥F​∥B∥2​}, ∀ A,B∈Rn×n

在本节最后,我们给出 l1l_1l1​ 诱导范数、l2l_2l2​ 诱导范数和 l∞l_\inftyl∞​ 诱导范数的证明过程

l1l_1l1​ 诱导范数的证明如下:

∵∥Ax∥1=∑i=1m∣∑j=1naijxj∣≤∑i=1m∑j=1n∣aij∣∣xj∣=∑j=1n∑i=1m∣aij∣∣xj∣≤(max⁡j∑i=1m∣aij∣)∑j=1n∣xj∣=max⁡j∑i=1m∣aij∣∥x∥1∴∥A∥1=max⁡x≠0∥Ax∥1∥x∥1=max⁡∥x∥1=1∥Ax∥1≤max⁡j∑i=1m∣aij∣⋯(1)\begin{aligned} &amp;\because \ \left \| \boldsymbol{Ax} \right \|_1=\sum_{i=1}^{m}\left | \sum_{j=1}^{n}a_{ij}x_j \right | \leq \sum_{i=1}^{m}\sum_{j=1}^{n}\left | a_{ij} \right |\left | x_j \right |= \sum_{j=1}^{n}\sum_{i=1}^{m}\left | a_{ij} \right |\left | x_j \right | \\ &amp;\leq \left ( \max_j \sum_{i=1}^{m}\left | a_{ij} \right | \right )\sum_{j=1}^{n}\left | x_j \right |=\max_j \sum_{i=1}^{m}\left | a_{ij} \right |\left \| \boldsymbol{x} \right \|_1 \end{aligned} \\ \therefore \ \left \| \boldsymbol{A} \right \|_1 =\max_{\boldsymbol{x}\neq 0} \frac{\left \| \boldsymbol{Ax} \right \|_1}{ \left \| \boldsymbol{x} \right \|_1} = \max_{\left \| \boldsymbol{x} \right \|_1=1}\left \| \boldsymbol{Ax} \right \|_1 \leq \max_{j}\sum_{i=1}^{m}\left | a_{ij} \right | \qquad \cdots \left(1\right)​∵ ∥Ax∥1​=i=1∑m​∣∣∣∣∣​j=1∑n​aij​xj​∣∣∣∣∣​≤i=1∑m​j=1∑n​∣aij​∣∣xj​∣=j=1∑n​i=1∑m​∣aij​∣∣xj​∣≤(jmax​i=1∑m​∣aij​∣)j=1∑n​∣xj​∣=jmax​i=1∑m​∣aij​∣∥x∥1​​∴ ∥A∥1​=x̸​=0max​∥x∥1​∥Ax∥1​​=∥x∥1​=1max​∥Ax∥1​≤jmax​i=1∑m​∣aij​∣⋯(1)
取 x(j)=(0,⋯&ThinSpace;,1,⋯&ThinSpace;,0),j=1,2,⋯&ThinSpace;,n\boldsymbol{x^{(j)}}=(0,\cdots,1,\cdots,0),\ j=1,2,\cdots,nx(j)=(0,⋯,1,⋯,0), j=1,2,⋯,n,它是除第 jjj 个元素为 111、其余元素全为 000 的向量,则有

∥A∥1=max⁡x≠0∥Ax∥1∥x∥1=max⁡∥x∥1=1∥Ax∥1≥max⁡x(j)∥Ax∥1=max⁡j∑i=1m∣aij∣⋯(2)\left \| \boldsymbol{A} \right \|_1 =\max_{\boldsymbol{x}\neq 0} \frac{\left \| \boldsymbol{Ax} \right \|_1}{ \left \| \boldsymbol{x} \right \|_1} = \max_{\left \| \boldsymbol{x} \right \|_1=1}\left \| \boldsymbol{Ax} \right \|_1 \geq \max_{\boldsymbol{x}^{(j)}}\left \| \boldsymbol{Ax} \right \|_1=\max_{j}\sum_{i=1}^{m}\left | a_{ij} \right | \qquad \cdots \left(2\right)∥A∥1​=x̸​=0max​∥x∥1​∥Ax∥1​​=∥x∥1​=1max​∥Ax∥1​≥x(j)max​∥Ax∥1​=jmax​i=1∑m​∣aij​∣⋯(2)
由 (1)\left(1 \right)(1)、(2)\left(2 \right)(2) 两式知

∥A∥1=max⁡j∑i=1m∣aij∣\left \| \boldsymbol{A} \right \|_1 =\max_{j}\sum_{i=1}^{m}\left | a_{ij} \right |∥A∥1​=jmax​i=1∑m​∣aij​∣

l2l_2l2​ 诱导范数的证明如下:

设 x1,x2,⋯&ThinSpace;,xn\boldsymbol{x}_1,\boldsymbol{x}_2,\cdots,\boldsymbol{x}_nx1​,x2​,⋯,xn​ 为对称半正定矩阵 ATAA^TAATA 的与特征值 λ1≥λ2≥⋯≥λn\lambda_1 \geq \lambda_2 \geq \cdots \geq \lambda_nλ1​≥λ2​≥⋯≥λn​ 相对应的相互正交的特征向量,则 ∀x=1\forall \ \boldsymbol{x} = 1∀ x=1 的向量 x\boldsymbol{x}x,必存在满足条件 c12+c22+⋯+cn2=1c_1^2+c_2^2+\cdots+c_n^2=1c12​+c22​+⋯+cn2​=1 的 c1,c2,⋯&ThinSpace;,cnc_1,c_2,\cdots,c_nc1​,c2​,⋯,cn​ 使得 x=c1x1+c2x2+⋯+cnxn\boldsymbol{x}=c_1\boldsymbol{x}_1+c_2\boldsymbol{x}_2+\cdots+c_n\boldsymbol{x}_nx=c1​x1​+c2​x2​+⋯+cn​xn​。所以有:

∥Ax∥22=(Ax)TAx=xTATAx=(c1x1+c2x2+⋯+cnxn)TATA(c1x1+c2x2+⋯+cnxn)=(c1x1+c2x2+⋯+cnxn)T(c1ATAx1+c2ATAx2+⋯+cnATAxn)=(c1x1+c2x2+⋯+cnxn)T(c1λ1x1+c2λ2x2+⋯+cnλnxn)=(c1x1T+c2x2T+⋯+cnxnT)(c1λ1x1+c2λ2x2+⋯+cnλnxn)=∑i=1n∑j=1nλiλjcicjxiTxj=∑i=1nλici2≤λ1∑i=1nci2=λ1⋯(3)\begin{aligned} &amp;\ \left \| \boldsymbol{Ax} \right \|_2^2 = \left ( \boldsymbol{Ax} \right )^T \boldsymbol{Ax} = \boldsymbol{x}^T\boldsymbol{A}^T\boldsymbol{A}\boldsymbol{x} \\ &amp;= \left ( c_1\boldsymbol{x}_1+c_2\boldsymbol{x}_2+\cdots+c_n\boldsymbol{x}_n \right )^T\boldsymbol{A}^T\boldsymbol{A}\left ( c_1\boldsymbol{x}_1+c_2\boldsymbol{x}_2+\cdots+c_n\boldsymbol{x}_n \right ) \\ &amp;= \left ( c_1\boldsymbol{x}_1+c_2\boldsymbol{x}_2+\cdots+c_n\boldsymbol{x}_n \right )^T\left ( c_1\boldsymbol{A}^T\boldsymbol{A}\boldsymbol{x}_1+c_2\boldsymbol{A}^T\boldsymbol{A}\boldsymbol{x}_2+\cdots+c_n\boldsymbol{A}^T\boldsymbol{A}\boldsymbol{x}_n \right ) \\ &amp;= \left ( c_1\boldsymbol{x}_1+c_2\boldsymbol{x}_2+\cdots+c_n\boldsymbol{x}_n \right )^T\left ( c_1\lambda_1\boldsymbol{x}_1+c_2\lambda_2\boldsymbol{x}_2+\cdots+c_n\lambda_n\boldsymbol{x}_n \right )\\ &amp;= \left ( c_1\boldsymbol{x}_1^T+c_2\boldsymbol{x}_2^T+\cdots+c_n\boldsymbol{x}_n^T \right )\left ( c_1\lambda_1\boldsymbol{x}_1+c_2\lambda_2\boldsymbol{x}_2+\cdots+c_n\lambda_n\boldsymbol{x}_n \right ) \\ &amp;= \sum_{i=1}^n\sum_{j=1}^n\lambda_i\lambda_j c_ic_j \boldsymbol{x}_i^T\boldsymbol{x}_j = \sum_{i=1}^n \lambda_i c_i^2 \\ &amp;\leq \lambda_1 \sum_{i=1}^n c_i^2 = \lambda_1 \qquad \cdots \left(3\right) \end{aligned}​ ∥Ax∥22​=(Ax)TAx=xTATAx=(c1​x1​+c2​x2​+⋯+cn​xn​)TATA(c1​x1​+c2​x2​+⋯+cn​xn​)=(c1​x1​+c2​x2​+⋯+cn​xn​)T(c1​ATAx1​+c2​ATAx2​+⋯+cn​ATAxn​)=(c1​x1​+c2​x2​+⋯+cn​xn​)T(c1​λ1​x1​+c2​λ2​x2​+⋯+cn​λn​xn​)=(c1​x1T​+c2​x2T​+⋯+cn​xnT​)(c1​λ1​x1​+c2​λ2​x2​+⋯+cn​λn​xn​)=i=1∑n​j=1∑n​λi​λj​ci​cj​xiT​xj​=i=1∑n​λi​ci2​≤λ1​i=1∑n​ci2​=λ1​⋯(3)​
又因为 ∥x1∥2=1\left \| \boldsymbol{x}_1 \right \|_2 = 1∥x1​∥2​=1 且:

∥Ax1∥22=x1TATAx1=x1Tλ1x1=λ1⋯(4)\left \| \boldsymbol{Ax}_1 \right \|_2^2 = \boldsymbol{x}_1^T\boldsymbol{A}^T\boldsymbol{A}\boldsymbol{x}_1 = \boldsymbol{x}_1^T\lambda_1\boldsymbol{x}_1 = \lambda_1 \qquad \cdots \left(4\right)∥Ax1​∥22​=x1T​ATAx1​=x1T​λ1​x1​=λ1​⋯(4)
所以由 (3)\left(3\right)(3)、(4)\left(4\right)(4) 式得:

∥A∥2=max⁡x≠0∥Ax∥2∥x∥2=max⁡∥x∥2=1∥Ax∥2=λ1\left \| \boldsymbol{A} \right \|_2 =\max_{\boldsymbol{x}\neq 0} \frac{\left \| \boldsymbol{Ax} \right \|_2}{ \left \| \boldsymbol{x} \right \|_2} = \max_{\left \| \boldsymbol{x} \right \|_2=1}\left \| \boldsymbol{Ax} \right \|_2 = \sqrt{\lambda_1}∥A∥2​=x̸​=0max​∥x∥2​∥Ax∥2​​=∥x∥2​=1max​∥Ax∥2​=λ1​​

l∞l_\inftyl∞​ 诱导范数的证明如下:

∵∥Ax∥∞=max⁡1≤i≤m∣∑j=1naijxj∣≤max⁡1≤i≤m∑j=1n∣aij∣∣xj∣≤max⁡1≤i≤m(max⁡1≤j≤n∣xj∣)∑i=1m∣aij∣=max⁡i∑i=1m∣aij∣∥x∥∞∴∥A∥∞=max⁡x≠0∥Ax∥∞∥x∥∞=max⁡∥x∥∞=1∥Ax∥∞≤max⁡i∑i=1n∣aij∣⋯(5)\begin{aligned} &amp;\because \ \left \| \boldsymbol{Ax} \right \|_\infty=\max_{1\leq i \leq m}\left | \sum_{j=1}^{n}a_{ij}x_j \right | \leq \max_{1\leq i \leq m}\sum_{j=1}^{n}\left | a_{ij} \right |\left | x_j \right | \\ &amp;\leq \max_{1\leq i \leq m} \left ( \max_{1\leq j \leq n}\left | x_j \right | \right ) \sum_{i=1}^{m}\left | a_{ij} \right | =\max_i \sum_{i=1}^{m}\left | a_{ij} \right |\left \| \boldsymbol{x} \right \|_\infty \end{aligned} \\ \therefore \ \left \| \boldsymbol{A} \right \|_\infty =\max_{\boldsymbol{x}\neq 0} \frac{\left \| \boldsymbol{Ax} \right \|_\infty}{ \left \| \boldsymbol{x} \right \|_\infty} = \max_{\left \| \boldsymbol{x} \right \|_\infty=1}\left \| \boldsymbol{Ax} \right \|_\infty \leq \max_{i}\sum_{i=1}^{n}\left | a_{ij} \right | \qquad \cdots \left(5\right)​∵ ∥Ax∥∞​=1≤i≤mmax​∣∣∣∣∣​j=1∑n​aij​xj​∣∣∣∣∣​≤1≤i≤mmax​j=1∑n​∣aij​∣∣xj​∣≤1≤i≤mmax​(1≤j≤nmax​∣xj​∣)i=1∑m​∣aij​∣=imax​i=1∑m​∣aij​∣∥x∥∞​​∴ ∥A∥∞​=x̸​=0max​∥x∥∞​∥Ax∥∞​​=∥x∥∞​=1max​∥Ax∥∞​≤imax​i=1∑n​∣aij​∣⋯(5)
取 kkk 使得

∑j=1n∣akj∣=max⁡i∑j=1n∣aij∣\sum_{j=1}^{n}\left | a_{kj} \right | = \max_{i}\sum_{j=1}^{n}\left | a_{ij} \right |j=1∑n​∣akj​∣=imax​j=1∑n​∣aij​∣
令 y=(y1,y2,⋯&ThinSpace;,yn)T\boldsymbol{y} = \left(y_1,y_2,\cdots,y_n \right)^Ty=(y1​,y2​,⋯,yn​)T,其中

yj={∣akj∣akj,akj≠01&ThinSpace;,otherwise\ y_j = \left\{\begin{matrix} \begin{aligned} &amp;\frac{\left | a_{kj} \right |}{a_{kj}},\ a_{kj} \neq 0 \\ &amp;1\ \ \ \ \ \ \, , \ otherwise \end{aligned} \end{matrix}\right. yj​=⎩⎪⎨⎪⎧​​akj​∣akj​∣​, akj​̸​=01      , otherwise​​
易知 ∥y∥∞=1\left \| \boldsymbol{y} \right \|_\infty = 1∥y∥∞​=1,从而有

∥A∥∞=max⁡x≠0∥Ax∥∞∥x∥∞=max⁡∥x∥∞=1∥Ax∥∞≥∥Ay∥∞=max⁡1≤i≤m∣∑j=1naijyj∣≥∣∑j=1nakjyj∣=∑j=1n∣akj∣=max⁡i∑j=1n∣aij∣⋯(6)\begin{aligned} &amp;\left \| \boldsymbol{A} \right \|_\infty =\max_{\boldsymbol{x}\neq 0} \frac{\left \| \boldsymbol{Ax} \right \|_\infty}{ \left \| \boldsymbol{x} \right \|_\infty} = \max_{\left \| \boldsymbol{x} \right \|_\infty=1}\left \| \boldsymbol{Ax} \right \|_\infty \geq \left \| \boldsymbol{Ay} \right \|_\infty = \max_{1 \leq i \leq m}\left | \sum_{j=1}^{n}a_{ij}y_j \right |\\ &amp;\geq \left | \sum_{j=1}^{n}a_{kj}y_j \right | = \sum_{j=1}^{n}\left | a_{kj} \right |= \max_{i}\sum_{j=1}^{n}\left | a_{ij} \right |\ \cdots \left(6\right) \end{aligned}​∥A∥∞​=x̸​=0max​∥x∥∞​∥Ax∥∞​​=∥x∥∞​=1max​∥Ax∥∞​≥∥Ay∥∞​=1≤i≤mmax​∣∣∣∣∣​j=1∑n​aij​yj​∣∣∣∣∣​≥∣∣∣∣∣​j=1∑n​akj​yj​∣∣∣∣∣​=j=1∑n​∣akj​∣=imax​j=1∑n​∣aij​∣ ⋯(6)​
由 (5)\left(5 \right)(5)、(6)\left(6 \right)(6) 两式知:

∥A∥∞=max⁡i∑j=1n∣aij∣\left \| \boldsymbol{A} \right \|_\infty =\max_{i}\sum_{j=1}^{n}\left | a_{ij} \right |∥A∥∞​=imax​j=1∑n​∣aij​∣

1.1.2 矩阵的逆与广义逆

关于矩阵的逆,有一个重要的结论,那就是:接近于可逆矩阵的矩阵可逆,其接近度由两个矩阵差的范数衡量。下面是这一结论的严格数学表述:

定理 1:设 A,B∈Rn×n\boldsymbol{A},\boldsymbol{B} \in R^{n\times n}A,B∈Rn×n,A\boldsymbol{A}A 可逆,∥A−1∥≤α\left \| \boldsymbol{A}^{-1} \right \| \leq \alpha∥∥​A−1∥∥​≤α,如果 ∥A−B∥≤β\left \| \boldsymbol{A}-\boldsymbol{B} \right \| \leq \beta∥A−B∥≤β,αβ&lt;1\alpha \beta &lt; 1αβ<1(注:矩阵范数为相容矩阵范数),则 B\boldsymbol{B}B 可逆且

∥B−1∥≤α1−αβ\left \| \boldsymbol{B}^{-1} \right \| \leq \frac{\alpha}{1-\alpha \beta}∥∥​B−1∥∥​≤1−αβα​

下面是定理 1 的证明过程:

证明:令 E=A−1(A−B)=I−A−1B\boldsymbol{E} = \boldsymbol{A}^{-1}\left(\boldsymbol{A}-\boldsymbol{B} \right) = \boldsymbol{I} - \boldsymbol{A}^{-1}\boldsymbol{B}E=A−1(A−B)=I−A−1B,因为

∥E∥=∥A−1(A−B)∥≤∥A−1∥∥A−B∥≤αβ&lt;1\left \| \boldsymbol{E} \right \| = \left \| \boldsymbol{A}^{-1}\left(\boldsymbol{A}-\boldsymbol{B} \right) \right \| \leq \left \| \boldsymbol{A}^{-1} \right \|\left \| \boldsymbol{A}-\boldsymbol{B} \right \| \leq \alpha \beta &lt; 1∥E∥=∥∥​A−1(A−B)∥∥​≤∥∥​A−1∥∥​∥A−B∥≤αβ<1
所以 ∑k=0∞Ek\sum_{k=0}^{\infty} \boldsymbol{E}^k∑k=0∞​Ek 存在,且容易验证:

∑k=0∞Ek=(I−E)−1\sum_{k=0}^{\infty} \boldsymbol{E}^k = \left ( \boldsymbol{I}-\boldsymbol{E} \right )^{-1}k=0∑∞​Ek=(I−E)−1
从而

∥(I−E)−1∥≤∑k=0∞∥E∥k=11−∥E∥\left \| \left (\boldsymbol{I}-\boldsymbol{E} \right )^{-1} \right \| \leq \sum_{k=0}^{\infty}\left \| \boldsymbol{E} \right \|^k = \frac{1}{1-\left \| \boldsymbol{E} \right \|}∥∥∥​(I−E)−1∥∥∥​≤k=0∑∞​∥E∥k=1−∥E∥1​
代入 E\boldsymbol{E}E,得:

∥B−1∥≤∥B−1A∥∥A−1∥≤∥A−1∥1−∥A−1(A−B)∥≤∥A−1∥1−∥A−1∥∥A−B∥≤α1−αβ\left \| \boldsymbol{B}^{-1} \right \| \leq \left \| \boldsymbol{B}^{-1}\boldsymbol{A} \right \|\left \| \boldsymbol{A}^{-1} \right \| \leq \frac{\left \| \boldsymbol{A}^{-1} \right \|}{1-\left \| \boldsymbol{A}^{-1}\left(\boldsymbol{A}-\boldsymbol{B} \right) \right \|} \leq \frac{\left \| \boldsymbol{A}^{-1} \right \|}{1-\left \| \boldsymbol{A}^{-1} \right \|\left \| \boldsymbol{A}-\boldsymbol{B} \right \|} \leq \frac{\alpha}{1-\alpha \beta}∥∥​B−1∥∥​≤∥∥​B−1A∥∥​∥∥​A−1∥∥​≤1−∥∥​A−1(A−B)∥∥​∥∥​A−1∥∥​​≤1−∥∥​A−1∥∥​∥A−B∥∥∥​A−1∥∥​​≤1−αβα​

设 A\boldsymbol{A}A 为 m×nm\times nm×n 复矩阵,则矩阵方程 AXA=A\boldsymbol{A}\boldsymbol{X}\boldsymbol{A} = \boldsymbol{A}AXA=A 的每一个解称为 A\boldsymbol{A}A 的广义逆,记作 A−\boldsymbol{A}^{-}A−(注:可以证明该矩阵方程一定有解,证明过程可参见丘维声所著 《高等代数(第二版)》 上册第 5 章第 3 节的定理 1)。为了避免上述矩阵方程解的不唯一性,即广义逆的不唯一性,我们引入 Penrose 方程组(注:A∗\boldsymbol{A}^{*}A∗ 表示 A\boldsymbol{A}A 的共轭转置,当矩阵为实矩阵时,A∗\boldsymbol{A}^{*}A∗ 即为 A\boldsymbol{A}A 的转置 AT\boldsymbol{A}^TAT)

{AXA&ThinSpace;=AXAX=X(AX)∗=AX(XA)∗=XA\left\{\begin{matrix} \boldsymbol{AXA} \, = \boldsymbol{A} \ \ \\ \boldsymbol{XAX} = \boldsymbol{X} \ \\ \left(\boldsymbol{AX} \right)^{*} = \boldsymbol{AX} \\ \left(\boldsymbol{XA} \right)^{*} = \boldsymbol{XA} \end{matrix}\right.⎩⎪⎪⎨⎪⎪⎧​AXA=A  XAX=X (AX)∗=AX(XA)∗=XA​

我们将上述方程组的解称为 A\boldsymbol{A}A 的 Moore-Penrose 广义逆,记作 A+\boldsymbol{A}^{+}A+。下面给出与 Moore-Penrose 广义逆有关的两个正交投影算子:

定义 1:设 V\mathcal{V}V 为 RnR^nRn 的子空间, V⊥\mathcal{V}^{\perp}V⊥ 为子空间的正交补,即 V⊥={x:v∗x=0,∀v∈V}\mathcal{V}^{\perp} = \left \{ \boldsymbol{x}:\boldsymbol{v}^{*}\boldsymbol{x}=0,\forall \ \boldsymbol{v}\in \mathcal{V} \right \}V⊥={x:v∗x=0,∀ v∈V},如果线性算子 PPP 满足:∀y∈V,Py=y\forall \boldsymbol{y} \in \mathcal{V},\ P\boldsymbol{y} = \boldsymbol{y}∀y∈V, Py=y,∀z∈V⊥,Pz=0\forall \boldsymbol{z} \in \mathcal{V ^{\perp}},\ P\boldsymbol{z} = 0∀z∈V⊥, Pz=0,那么我们称 PPP 是从 RnR^nRn 沿子空间 V⊥\mathcal{V}^{\perp}V⊥ 到子空间 V\mathcal{V}V 的正交投影算子

定理 2:AA+\boldsymbol{A}\boldsymbol{A}^{+}AA+ 是从 RnR^nRn 沿 A∗\boldsymbol{A}^{*}A∗ 零空间 N(A∗)\mathcal{N}\left(\boldsymbol{A}^{*} \right)N(A∗) 到 A\boldsymbol{A}A 的象空间 R(A)\mathcal{R}\left(\boldsymbol{A} \right)R(A) 的正交投影算子,A+A\boldsymbol{A}^{+}\boldsymbol{A}A+A 是从 RnR^nRn 沿 A+∗{\boldsymbol{A}^{+}}^{*}A+∗ 的零空间 N(A+∗)\mathcal{N}\left({\boldsymbol{A}^{+}}^{*} \right)N(A+∗) 到 A+\boldsymbol{A}^{+}A+ 的象空间 R(A+)\mathcal{R}\left(\boldsymbol{A}^{+} \right)R(A+) 的正交投影算子。其中 R(A)≜{Ax:x∈Rn}\mathcal{R} \left(\boldsymbol{A} \right) \triangleq \left \{ \boldsymbol{Ax}: \boldsymbol{x} \in R^n\right \}R(A)≜{Ax:x∈Rn},N(A)≜{x∈Rn:Ax=0}\mathcal{N} \left(\boldsymbol{A} \right) \triangleq \left \{ \boldsymbol{x} \in R^n:\boldsymbol{Ax}=0\right \}N(A)≜{x∈Rn:Ax=0}。

下面是定理 2 的证明过程(我们仅给出第一部分的证明,第二部分证明同理可得):

证明:我们首先证明
R(A)⊥=N(A∗){\mathcal{R}\left(\boldsymbol{A} \right)}^{\perp} = \mathcal{N}\left(\boldsymbol{A}^{*} \right)R(A)⊥=N(A∗)
如果 x∈R(A)⊥\boldsymbol{x} \in \mathcal{R}\left(\boldsymbol{A} \right)^{\perp}x∈R(A)⊥,则 ∀y∈Rn\forall \boldsymbol{y} \in R^n∀y∈Rn,有 (Ay)∈R(A)\left(\boldsymbol{Ay} \right) \in \mathcal{R}\left(\boldsymbol{A} \right)(Ay)∈R(A),所以由正交补的定义有 (Ay)∗x=0\left(\boldsymbol{Ay} \right)^{*} \boldsymbol{x} = 0(Ay)∗x=0,因此 y∗(A∗x)=0\boldsymbol{y}^{*} \left( \boldsymbol{A}^{*} \boldsymbol{x} \right) = 0y∗(A∗x)=0,从而有 A∗x=0\boldsymbol{A}^{*} \boldsymbol{x} = \boldsymbol{0}A∗x=0,即 x∈N(A∗)\boldsymbol{x} \in \mathcal{N}\left(\boldsymbol{A}^{*} \right)x∈N(A∗),所以

R(A)⊥⊂N(A∗)\mathcal{R}\left(\boldsymbol{A} \right)^{\perp} \subset \mathcal{N}\left(\boldsymbol{A}^{*} \right)R(A)⊥⊂N(A∗)
如果 x∈N(A∗)\boldsymbol{x} \in \mathcal{N}\left(\boldsymbol{A}^{*} \right)x∈N(A∗),则 (A∗x)=0\left(\boldsymbol{A}^{*}\boldsymbol{x} \right) = 0(A∗x)=0,∀y∈Rn\forall \boldsymbol{y} \in R^n∀y∈Rn,有 y∗(A∗x)=(Ay)∗x=0\boldsymbol{y}^{*} \left(\boldsymbol{A}^{*}\boldsymbol{x} \right) = \left(\boldsymbol{Ay} \right)^{*} \boldsymbol{x} = 0y∗(A∗x)=(Ay)∗x=0,由 (Ay)∗x=0\left(\boldsymbol{Ay} \right)^{*} \boldsymbol{x} = 0(Ay)∗x=0 知 x∈R(A)⊥\boldsymbol{x} \in \mathcal{R}\left(\boldsymbol{A} \right)^{\perp}x∈R(A)⊥,所以

N(A∗)⊂R(A)⊥\mathcal{N}\left(\boldsymbol{A}^{*} \right) \subset \mathcal{R}\left(\boldsymbol{A} \right)^{\perp}N(A∗)⊂R(A)⊥
综上,R(A)⊥=N(A∗){\mathcal{R}\left(\boldsymbol{A} \right)}^{\perp} = \mathcal{N}\left(\boldsymbol{A}^{*} \right)R(A)⊥=N(A∗)。下证 AA+\boldsymbol{A}\boldsymbol{A}^{+}AA+ 是从 RnR^nRn 沿 A∗\boldsymbol{A}^{*}A∗ 零空间 N(A∗)\mathcal{N}\left(\boldsymbol{A}^{*} \right)N(A∗) 到 A\boldsymbol{A}A 的象空间 R(A)\mathcal{R}\left(\boldsymbol{A} \right)R(A) 的正交投影算子。

因为 ∀y∈R(A)\forall \boldsymbol{y} \in \mathcal{R} \left(\boldsymbol{A} \right)∀y∈R(A), 有 y=Ax\boldsymbol{y} = \boldsymbol{Ax}y=Ax . 又由 Moore-Penrose 广义逆的定义有 AA+A=A\boldsymbol{A}\boldsymbol{A}^{+}\boldsymbol{A} = \boldsymbol{A}AA+A=A,所以

∀y∈R(A),AA+y=AA+Ax=Ax=y\forall \boldsymbol{y} \in \mathcal{R} \left(\boldsymbol{A} \right),\ \boldsymbol{A}\boldsymbol{A}^{+}\boldsymbol{y} = \boldsymbol{A}\boldsymbol{A}^{+}\boldsymbol{Ax} = \boldsymbol{Ax} = \boldsymbol{y}∀y∈R(A), AA+y=AA+Ax=Ax=y
因为 ∀z∈N(A∗)\forall \boldsymbol{z} \in \mathcal{N} \left(\boldsymbol{A}^{*} \right)∀z∈N(A∗),有 A∗z=0\boldsymbol{A}^{*} \boldsymbol{z} = 0A∗z=0,又由 Moore-Penrose 广义逆的定义有 (AA+)∗=(AA+)\left(\boldsymbol{AA}^{+} \right)^{*} = \left(\boldsymbol{AA}^{+} \right)(AA+)∗=(AA+),所以 ∀z∈N(A∗)\forall \boldsymbol{z} \in \mathcal{N} \left(\boldsymbol{A}^{*} \right)∀z∈N(A∗),有
AA+z=(AA+)∗z=A+∗A∗z=0\boldsymbol{A}\boldsymbol{A}^{+}\boldsymbol{z} = \left(\boldsymbol{A}\boldsymbol{A}^{+} \right )^{*}\boldsymbol{z} = {\boldsymbol{A}^{+}}^{*} \boldsymbol{A}^{*}\boldsymbol{z} = 0AA+z=(AA+)∗z=A+∗A∗z=0
综上,AA+\boldsymbol{A}\boldsymbol{A}^{+}AA+ 是从 RnR^nRn 沿 A∗\boldsymbol{A}^{*}A∗ 零空间 N(A∗)\mathcal{N}\left(\boldsymbol{A}^{*} \right)N(A∗) 到 A\boldsymbol{A}A 的象空间 R(A)\mathcal{R}\left(\boldsymbol{A} \right)R(A) 的正交投影算子。

本节最后,我们给出矩阵正交分解和奇异值分解的 Moore-Penrose 广义逆。

定理 3:若 AAA 是秩为 rrr 的 m×nm\times nm×n 复矩阵,其正交分解为

A=Q∗RP,Q∗Q=P∗P=I,R=[Rr×r11OOO],∣Rr×r11∣≠0\boldsymbol{A} = \boldsymbol{Q}^*\boldsymbol{RP},\ \boldsymbol{Q}^*\boldsymbol{Q} = \boldsymbol{P}^*\boldsymbol{P} = \boldsymbol{I},\ \boldsymbol{R} = \begin{bmatrix} \boldsymbol{R}_{r\times r}^{11} &amp; \boldsymbol{O}\\ \boldsymbol{O} &amp; \boldsymbol{O} \end{bmatrix},\ \left | \boldsymbol{R}_{r\times r}^{11} \right | \neq 0A=Q∗RP, Q∗Q=P∗P=I, R=[Rr×r11​O​OO​], ∣∣​Rr×r11​∣∣​̸​=0
其奇异值分解为
A=UDV∗,U∗U=V∗V=I,D=[Σr×rOOO],Σr×r=diag(λ1,⋯&ThinSpace;,λr)\boldsymbol{A} = \boldsymbol{U}\boldsymbol{DV}^*,\ \boldsymbol{U}^*\boldsymbol{U} = \boldsymbol{V}^*\boldsymbol{V} = \boldsymbol{I},\ \boldsymbol{D} = \begin{bmatrix} \boldsymbol{\Sigma}_{r\times r} &amp; \boldsymbol{O}\\ \boldsymbol{O} &amp; \boldsymbol{O} \end{bmatrix},\ \boldsymbol{\Sigma}_{r\times r} = \mathrm{diag}\left ( \lambda_1,\cdots,\lambda_r \right )A=UDV∗, U∗U=V∗V=I, D=[Σr×r​O​OO​], Σr×r​=diag(λ1​,⋯,λr​)
这里 Rr×r11\boldsymbol{R}_{r\times r}^{11}Rr×r11​ 为上三角矩阵,O\boldsymbol{O}O 为零矩阵,则有 A+=P∗R+Q\boldsymbol{A}^{+} = \boldsymbol{P}^{*}\boldsymbol{R}^{+}\boldsymbol{Q}A+=P∗R+Q 或者 A+=VD+U∗\boldsymbol{A}^{+} = \boldsymbol{V}\boldsymbol{D}^{+}\boldsymbol{U}^{*}A+=VD+U∗,其中

R+=[Rr×r11−1OOO],D+=[Σr×r−1OOO]\boldsymbol{R}^{+} = \begin{bmatrix} {\boldsymbol{R}_{r\times r} ^{11}}^{-1} &amp; \boldsymbol{O}\\ \boldsymbol{O} &amp; \boldsymbol{O} \end{bmatrix},\ \boldsymbol{D}^{+} = \begin{bmatrix} \boldsymbol{\Sigma}_{r\times r} ^{-1} &amp; \boldsymbol{O}\\ \boldsymbol{O} &amp; \boldsymbol{O} \end{bmatrix}R+=[Rr×r11​−1O​OO​], D+=[Σr×r−1​O​OO​]

1.1.3 矩阵的 Rayleigh 商

n×nn \times nn×n Hermite 矩阵 A\boldsymbol{A}A 的 Rayleigh 商定义为:

R(u)=u∗Auu∗uR\left(\boldsymbol{u} \right) = \frac{\boldsymbol{u}^*\boldsymbol{Au}}{\boldsymbol{u}^*\boldsymbol{u}}R(u)=u∗uu∗Au​

它与矩阵特征值有着密切的联系,它的最大值是矩阵的最大特征值,最小值是矩阵的最小特征值,当 u\boldsymbol{u}u 取矩阵的特征向量(矩阵对应线性变换下方向不变的非零向量)时,它为该特征向量对应的特征值。**它的几何意义是:nnn 维复数空间 CnC^nCn 中的任意向量 u\boldsymbol{u}u 经变换 A\boldsymbol{A}A 后得到的新向量 Au\boldsymbol{Au}Au 在原向量 u\boldsymbol{u}u 上的正交投影的长度。**下面给出上述内容的严格数学表述:

埃尔米特矩阵 / 厄米特矩阵(Hermitian matrix),也称自伴随矩阵,它是共轭对称的方阵,即矩阵中每一个第 iii 行第 jjj 列的元素都是第 jjj 行第 iii 列的元素的共轭复数,它是实数域下对称矩阵在复数域下的推广。

定理 4:设 A\boldsymbol{A}A 是 n×nn \times nn×n Hermite 矩阵,u∈Cnu \in C^nu∈Cn,则 A\boldsymbol{A}A 的 Rayleigh 商满足以下基本性质:

1.齐次性:∀α≠0,Rλ(αu)=Rλ(u)\forall \alpha \neq 0,\ R_\lambda \left(\alpha \boldsymbol{u} \right) = R_\lambda \left( \boldsymbol{u} \right)∀α̸​=0, Rλ​(αu)=Rλ​(u)

2.极性:λ1=max⁡∥u∥2=1u∗Au=max⁡u≠0u∗Auu∗u,λn=min⁡∥u∥2=1u∗Au=min⁡u≠0u∗Auu∗u\begin{aligned} \lambda_1 = \underset{\left \| \boldsymbol{u} \right \|_2 = 1}{\max}\boldsymbol{u}^*\boldsymbol{Au} = \underset{\boldsymbol{u}\neq \boldsymbol{0}}{\max}\ \frac{\boldsymbol{u}^*\boldsymbol{Au}}{\boldsymbol{u}^*\boldsymbol{u}},\ \lambda_n = \underset{\left \| \boldsymbol{u} \right \|_2 = 1}{\min}\boldsymbol{u}^*\boldsymbol{Au} = \underset{\boldsymbol{u}\neq \boldsymbol{0}}{\min}\ \frac{\boldsymbol{u}^*\boldsymbol{Au}}{\boldsymbol{u}^*\boldsymbol{u}} \end{aligned}λ1​=∥u∥2​=1max​u∗Au=u̸​=0max​ u∗uu∗Au​, λn​=∥u∥2​=1min​u∗Au=u̸​=0min​ u∗uu∗Au​​

3.极小残量性质:∀μ∈R,∥Au−Rλ(u)u∥≤∥Au−μu∥\forall \mu \in R,\ \left \| \boldsymbol{Au} - R_\lambda \left(\boldsymbol{u} \right )\boldsymbol{u} \right \| \leq \left \| \boldsymbol{Au} - \mu \boldsymbol{u}\right \|∀μ∈R, ∥Au−Rλ​(u)u∥≤∥Au−μu∥

下面是定理 4 的证明过程:

证明:由 Rayleigh 商的定义易证其满足齐次性,这里不再赘述,接下来我们首先证明极性:

根据齐次性,我们有 Rλ(u)=us∗Aus,us=u∥u∥2\begin{aligned} R_\lambda \left( \boldsymbol{u} \right) = \boldsymbol{u}_s^*\boldsymbol{Au}_s,\ \boldsymbol{u}_s = \frac{\boldsymbol{u}}{\left \| \boldsymbol{u} \right \|_2} \end{aligned}Rλ​(u)=us∗​Aus​, us​=∥u∥2​u​​ 又因为 A\boldsymbol{A}A 是 n×nn \times nn×n Hermite 矩阵,所以必存在酉矩阵(实数域下正交矩阵在复数域下的推广) T\boldsymbol{T}T 使得 T∗AT=diag{λ1,λ2,⋯&ThinSpace;,λn}\boldsymbol{T}^*\boldsymbol{A}\boldsymbol{T} = \mathrm{diag}\left \{\lambda_1,\lambda_2,\cdots,\lambda_n \right \}T∗AT=diag{λ1​,λ2​,⋯,λn​},其中 λ1≥λ2≥⋯≥λn\lambda_1 \geq \lambda_2 \geq \cdots \geq \lambda_nλ1​≥λ2​≥⋯≥λn​ 为矩阵 A\boldsymbol{A}A 的特征值。由于 ∀us\forall \boldsymbol{u}_s∀us​,必存在 y∈Cn\boldsymbol{y} \in C^ny∈Cn 使得 us=Ty\boldsymbol{u}_s = \boldsymbol{T} \boldsymbol{y}us​=Ty,又由 T∗T=IT^*T = IT∗T=I 知 ∥y∥2=∥u∥2\left \| \boldsymbol{y} \right \|_2 = \left \| \boldsymbol{u} \right \|_2∥y∥2​=∥u∥2​,所以

λn=λn∑i=1n∣yi∣2≤us∗Aus=y∗Ay=∑i=1nλi∣yi∣2≤λ1∑i=1n∣yi∣2=λ1\lambda_n = \lambda_n\sum_{i=1}^{n}\left | y_i \right |^2 \leq \boldsymbol{u}_s^*\boldsymbol{Au}_s = \boldsymbol{y}^*\boldsymbol{A} \boldsymbol{y} = \sum_{i=1}^{n}\lambda_i\left | y_i \right |^2 \leq \lambda_1\sum_{i=1}^{n}\left | y_i \right |^2 = \lambda_1λn​=λn​i=1∑n​∣yi​∣2≤us∗​Aus​=y∗Ay=i=1∑n​λi​∣yi​∣2≤λ1​i=1∑n​∣yi​∣2=λ1​
且当 y1=1,yi=0(i≠1)y_1 = 1,y_i = 0 \left(i \neq 1 \right)y1​=1,yi​=0(i̸​=1) 时,右侧不等号取到等号,yn=1,yj=0(j≠n)y_n = 1,y_j = 0 \left(j \neq n \right)yn​=1,yj​=0(j̸​=n) 时,左侧不等号取到等号,极性得证。下面证明极小残量性质:

令 s(u)=Au−Rλ(u)u,u≠0s\left(\boldsymbol{u} \right) = \boldsymbol{Au} - R_\lambda\left(\boldsymbol{u} \right)\boldsymbol{u},\ \boldsymbol{u} \neq 0s(u)=Au−Rλ​(u)u, u̸​=0,因为
(s(u),u)=u∗Au−u∗Rλ(u)u=u∗Au−u∗u∗Auu∗uu=u∗Au−u∗uu∗Auu∗u=0\left(s\left(\boldsymbol{u} \right),\boldsymbol{u} \right) = \boldsymbol{u}^*\boldsymbol{Au} - \boldsymbol{u}^*R_\lambda\left(\boldsymbol{u} \right) \boldsymbol{u} = \boldsymbol{u}^*\boldsymbol{Au} - \boldsymbol{u}^* \frac{\boldsymbol{u}^*\boldsymbol{Au}}{\boldsymbol{u}^*\boldsymbol{u}} \boldsymbol{u} = \boldsymbol{u}^*\boldsymbol{Au} - \boldsymbol{u}^*\boldsymbol{u} \frac{\boldsymbol{u}^*\boldsymbol{Au}}{\boldsymbol{u}^*\boldsymbol{u}} = 0(s(u),u)=u∗Au−u∗Rλ​(u)u=u∗Au−u∗u∗uu∗Au​u=u∗Au−u∗uu∗uu∗Au​=0
所以 Au=Rλ(u)u+s(u)\boldsymbol{Au} = R_\lambda\left(\boldsymbol{u} \right)\boldsymbol{u} + s\left(\boldsymbol{u} \right)Au=Rλ​(u)u+s(u) 是 Au\boldsymbol{Au}Au 的正交分解,从而 Rλ(u)uR_\lambda\left(\boldsymbol{u} \right)\boldsymbol{u}Rλ​(u)u 是 Au\boldsymbol{Au}Au 在 u\boldsymbol{u}u 上的正交投影,所以必有:∀μ∈R,∥Au−Rλ(u)u∥≤∥Au−μu∥\forall \mu \in R,\ \left \| \boldsymbol{Au} - R_\lambda \left(\boldsymbol{u} \right )\boldsymbol{u} \right \| \leq \left \| \boldsymbol{Au} - \mu \boldsymbol{u}\right \|∀μ∈R, ∥Au−Rλ​(u)u∥≤∥Au−μu∥。

1.1.4 矩阵的秩 1 校正

矩阵的秩 1 校正(rank one correction)指的是在原矩阵的基础上加上一个秩为 1 的矩阵,下面我们将依次介绍秩一校正的逆、单位矩阵秩一校正的行列式、秩一校正联锁特征值定理、Cholesky 分解与 QR 分解的秩 1 校正。秩 1 校正及其推广秩 r 校正有着广泛的应用,例如:正交变换中常用的 Householder 反射(I−2vTvvvT\boldsymbol{I} - \frac{2}{\boldsymbol{v}^T\boldsymbol{v}}\boldsymbol{v}\boldsymbol{v}^TI−vTv2​vvT,可大量引入 0 元)和 Givens 旋转(单位矩阵的秩 2 校正,可选择性地引入 0 元)、QR 分解(可利用 Householder 反射或 Givens 旋转等方法实现)等等。

下面是著名的 Sherman-Morrison 公式,它给出了秩 1 校正的逆。

定理 5:若 An×n\boldsymbol{A}_{n\times n}An×n​ 非奇异,则 ∀u,v∈Rn\forall \ \boldsymbol{u},\boldsymbol{v}\ \in R^n∀ u,v ∈Rn,只要 1+vTA−1u≠01 + \boldsymbol{v}^T\boldsymbol{A^{-1}}\boldsymbol{u} \neq 01+vTA−1u̸​=0,便有 A+uvT\boldsymbol{A} + \boldsymbol{u}\boldsymbol{v}^TA+uvT 可逆且
(A+uvT)−1=A−1−A−1uvTA−11+vTA−1u\left(\boldsymbol{A} + \boldsymbol{u}\boldsymbol{v}^T \right)^{-1} = \boldsymbol{A}^{-1} - \frac{\boldsymbol{A}^{-1}\boldsymbol{u}\boldsymbol{v}^T\boldsymbol{A}^{-1}}{1+\boldsymbol{v}^T\boldsymbol{A}^{-1}\boldsymbol{u}}(A+uvT)−1=A−1−1+vTA−1uA−1uvTA−1​

我们很容易验证上述公式是成立的,故这里不再给出证明过程。下面是该定理的推广,被称为 Woodbury 矩阵恒等式(Woodbury matrix identity),或者矩阵逆引理(matrix inversion lemma)、Sherman–Morrison–Woodbury 公式(Sherman–Morrison–Woodbury formula)、Woodbury 公式(Woodbury formula)。同样,很容易验证该公式是成立的。

定理 6:若 An×n\boldsymbol{A}_{n\times n}An×n​ 非奇异,则 ∀Un×m,Vn×r,Cr×r\forall \ \boldsymbol{U}_{n\times m},\ \boldsymbol{V}_{n\times r},\ \boldsymbol{C}_{r\times r}∀ Un×m​, Vn×r​, Cr×r​,只要 C−1+V∗A−1U\boldsymbol{C}^{-1} + \boldsymbol{V^*A}^{-1}\boldsymbol{U}C−1+V∗A−1U 可逆,则
(A+UCV∗)−1=A−1−A−1U(C−1+V∗A−1U)−1V∗A−1\left(\boldsymbol{A+UCV}^* \right)^{-1} = \boldsymbol{A}^{-1} - \boldsymbol{A}^{-1}\boldsymbol{U}\left(\boldsymbol{C}^{-1}+\boldsymbol{V}^*\boldsymbol{A}^{-1}\boldsymbol{U} \right)^{-1}\boldsymbol{V}^*\boldsymbol{A}^{-1}(A+UCV∗)−1=A−1−A−1U(C−1+V∗A−1U)−1V∗A−1

下面给出单位矩阵秩 1 校正的行列式,由于

(I+uvT)u=(1+uTv)u\left(\boldsymbol{I} + \boldsymbol{u}\boldsymbol{v}^T \right)\boldsymbol{u} = \left(1+\boldsymbol{u}^T\boldsymbol{v} \right)\boldsymbol{u}(I+uvT)u=(1+uTv)u

(I+uvT)s=sifvTs=0\left(\boldsymbol{I} + \boldsymbol{u}\boldsymbol{v}^T \right)\boldsymbol{s} = \boldsymbol{s}\ \ if\ \ \boldsymbol{v}^T\boldsymbol{s} = 0(I+uvT)s=s  if  vTs=0

所以 u\boldsymbol{u}u 是单位矩阵秩 1 校正的特征值 1+uTv1+\boldsymbol{u}^T\boldsymbol{v}1+uTv 对应的特征向量,正交于 v\boldsymbol{v}v 的 s\boldsymbol{s}s 是单位矩阵秩 1 校正的特征值 111 对应的特征向量,又因为 RnR^nRn 中与 v\boldsymbol{v}v 正交的线性无关向量必有 (n−1)\left(n-1 \right)(n−1) 个,即单位矩阵秩 1 校正的特征值 111 的几何重数等于 (n−1)\left(n-1 \right)(n−1),所以单位矩阵秩 1 校正的特征值 111 的代数重数大于等于 (n−1)\left(n-1 \right)(n−1)。由于 nnn 次特征多项式(特征值是特征多项式的根)最多有 nnn 个根(包括重根),而 n×nn\times nn×n 单位矩阵秩 1 校正的特征值 111 的重数至少为 (n−1)\left(n-1 \right)(n−1),且前面已经知道单位矩阵秩 1 校正存在两个不同的特征值,所以单位矩阵秩 1 校正仅有两个不同的特征值 111 和 (1+uTv)\left(1+\boldsymbol{u}^T\boldsymbol{v} \right)(1+uTv),其重数分别为 (n−1)\left(n-1 \right)(n−1) 和 111。根据行列式等于特征值之积的性质,我们立即得到:

det(I+uvT)=1+uTv\mathrm{det}\left(\boldsymbol{I} + \boldsymbol{u}\boldsymbol{v}^T \right) = 1+\boldsymbol{u}^T\boldsymbol{v}det(I+uvT)=1+uTv

下面介绍秩一校正 A+σuuT\boldsymbol{A} + \sigma\boldsymbol{u}\boldsymbol{u}^TA+σuuT 的联锁特征值定理(interlocking eigenvalue theorem),该定理见于 1965 年出版的 Wilkinson 的 The Algebraic Eigenvalue Problem 一书中(其中译本《代数特征值问题》于 2006 年由科学出版社出版)的第二章关于秩 1 校正的部分。该书是计算数学领域的经典著作,作者用摄动理论和向后误差分析方法系统地论述了代数特征值问题以及有关的线性代数方程组、多项式零点的各种解法,并对方法的性质作了透彻的分析,该书为研究代数特征值及有关问题提供了严密的理论基础和强有力的工具。

定理 7:若 An×n\boldsymbol{A}_{n\times n}An×n​ 为对称矩阵且其特征值为 λ1≥λ2≥⋯≥λn\lambda_1 \geq \lambda_2 \geq \cdots \geq \lambda_nλ1​≥λ2​≥⋯≥λn​,且记 Aˉ=A+σuuT\bar{\boldsymbol{A}} = \boldsymbol{A} + \sigma\boldsymbol{u}\boldsymbol{u}^TAˉ=A+σuuT 的特征值为 λˉ1≥λˉ2≥⋯≥λˉn\bar{\lambda}_1 \geq \bar{\lambda}_2 \geq \cdots \geq \bar{\lambda}_nλˉ1​≥λˉ2​≥⋯≥λˉn​,则有

σ&gt;0:λˉ1≥λ1≥λˉ2≥λ2≥⋯≥λˉn≥λn\sigma &gt; 0:\ \bar{\lambda}_1 \geq \lambda_1 \geq \bar{\lambda}_2 \geq \lambda_2 \geq \cdots \geq \bar{\lambda}_n \geq \lambda_nσ>0: λˉ1​≥λ1​≥λˉ2​≥λ2​≥⋯≥λˉn​≥λn​
σ&lt;0:λ1≥λˉ1≥λ2≥λˉ2≥⋯≥λn≥λˉn\sigma &lt; 0:\ \lambda_1 \geq \bar{\lambda}_1 \geq \lambda_2 \geq \bar{\lambda}_2 \geq \cdots \geq \lambda_n \geq \bar{\lambda}_nσ<0: λ1​≥λˉ1​≥λ2​≥λˉ2​≥⋯≥λn​≥λˉn​

本节最后,我们谈一下 Cholesky 分解与 QR 分解的秩 1 校正,在 Matlab 中有实现它们的函数,分别是 Cholupdate(R,x,’+/-’) 和 qrupdate(Q,R,u,v),它们分别用于求 R±xxT\boldsymbol{R} \pm \boldsymbol{x}\boldsymbol{x}^TR±xxT 的 Cholesky 分解和 QR+uvT\boldsymbol{QR} + \boldsymbol{u}\boldsymbol{v}^TQR+uvT 的 QR 分解,Matlab 官方文档指出:Cholupdate 参考的是 LINPACK 子例程 ZCHUD 和 ZCHDD 使用的算法,详情见参考文献 Dongarra, J.J., J.R. Bunch, C.B. Moler, and G.W. Stewart, LINPACK Users’ Guide, SIAM, Philadelphia, 1979;qrupdate 使用由 Golub 与 van Loan 合著的 Matrix Computations 第三版第 12.5.1 节中的算法,详情见参考文献 Golub, Gene H. and Charles Van Loan, Matrix Computations, Third Edition, Johns Hopkins University Press, Baltimore, 1996. 限于时间与精力,笔者暂时还不打算去研究这些算法背后的原理,这里也就不给出算法步骤的叙述了,感兴趣的读者可以翻阅上述参考文献进行了解。

Cholesky 分解(Cholesky decomposition / factorization):将一个正定的 Hermite 矩阵 R\boldsymbol{R}R 分解成一个下三角矩阵 L\boldsymbol{L}L 与其共轭转置 L∗\boldsymbol{L}^*L∗ 的乘积,即 R=LL∗\boldsymbol{R} = \boldsymbol{L}\boldsymbol{L}^*R=LL∗。当限定 L\boldsymbol{L}L 的对角元素为正时,Cholesky 分解是唯一的。此外它还有一个变形,那就是 R=LDL∗\boldsymbol{R} = \boldsymbol{LD}\boldsymbol{L}^*R=LDL∗,此时 L\boldsymbol{L}L 变为了单位下三角矩阵(主对角元全为 1),D\boldsymbol{D}D 为对角矩阵。维基百科给出了秩 1 校正 Cholesky 分解的具体算法,如需了解请点击此处。

QR 分解:将一个矩阵 An×m\boldsymbol{A}_{n\times m}An×m​ 分解成一个酉矩阵 Qn×n\boldsymbol{Q}_{n\times n}Qn×n​ 与一个上三角矩阵 Rn×m\boldsymbol{R}_{n\times m}Rn×m​ 的乘积,即 A=QR\boldsymbol{A} = \boldsymbol{QR}A=QR。如果 A\boldsymbol{A}A 是非奇异的,且限定 R\boldsymbol{R}R 的对角线元素为正,则该矩阵的 QR 分解是唯一的。QR 分解的实际计算方法有很多,如 Givens 旋转、Householder 变换,以及 Gram-Schmidt 正交化等等,每一种方法都有其优点和不足,详情见上述参考文献,也可以参考本书的中译本:由科学出版社于 2001 年出版的《矩阵计算》。

1.2 微积分

本节,我们介绍最优化理论中需要用到的微积分知识,包括:向量序列的收敛、函数的微分、向量值函数的微分和有限差分导数。

1.2.1 向量序列的收敛

向量序列的收敛是由范数定义的,我们说向量序列 xk\boldsymbol{x}_kxk​ 收敛于向量 x\boldsymbol{x}x 是指当 k→∞k \rightarrow \inftyk→∞ 时它们之间差的范数趋于 0,即

lim⁡k→∞∥xk−x∥=0\lim_{k \rightarrow \infty} \left \| \boldsymbol{x}_k - \boldsymbol{x} \right \| = 0k→∞lim​∥xk​−x∥=0

1.2.2 函数的微分

我们首先给出函数可微与微分的定义:

定义 2:如果存在一个仅依赖于 x0∈Rn\boldsymbol{x}_0 \in R^nx0​∈Rn 的向量 a∈Rn\boldsymbol{a} \in R^na∈Rn 使得

f(x0+Δx)−f(x0)=aTΔx+o(∥Δx∥)f\left(\boldsymbol{x}_0 + \Delta\boldsymbol{x} \right) - f\left(\boldsymbol{x}_0 \right) = \boldsymbol{a}^T\Delta\boldsymbol{x} + o\left(\left \| \Delta\boldsymbol{x} \right \| \right)f(x0​+Δx)−f(x0​)=aTΔx+o(∥Δx∥) 则我们称 f(x)f\left(\boldsymbol{x} \right)f(x) 在 x0\boldsymbol{x}_0x0​ 处可微,并称 aTΔx\boldsymbol{a}^T\Delta\boldsymbol{x}aTΔx 为 f(x)f\left(\boldsymbol{x} \right)f(x) 在 x0\boldsymbol{x}_0x0​ 处的(全)微分。

可以证明:如果函数 f(x)f\left(\boldsymbol{x} \right)f(x) 在 x0\boldsymbol{x}_0x0​ 处可微,则 f(x)f\left(\boldsymbol{x} \right)f(x) 在 x0\boldsymbol{x}_0x0​ 处连续,f(x)f\left(\boldsymbol{x} \right)f(x) 在 x0\boldsymbol{x}_0x0​ 处的偏导 ∂f(x0)∂xi\frac{\partial f\left(\boldsymbol{x}_0 \right )}{\partial x_i}∂xi​∂f(x0​)​ 存在且 a\boldsymbol{a}a 为 f(x)f\left(\boldsymbol{x} \right)f(x) 在 x0\boldsymbol{x}_0x0​ 处的梯度,即 a=(∂f(x0)∂x1,∂f(x0)∂x2,⋯&ThinSpace;,∂f(x0)∂xn)T≜∇f(x0)\boldsymbol{a} = \left(\frac{\partial f\left(\boldsymbol{x}_0 \right )}{\partial x_1},\frac{\partial f\left(\boldsymbol{x}_0 \right )}{\partial x_2},\cdots,\frac{\partial f\left(\boldsymbol{x}_0 \right )}{\partial x_n} \right)^T \triangleq \nabla f\left(\boldsymbol{x}_0 \right)a=(∂x1​∂f(x0​)​,∂x2​∂f(x0​)​,⋯,∂xn​∂f(x0​)​)T≜∇f(x0​)。如需了解详细证明过程,可参考由北京大学出版社出版、由伍胜健编著的《数学分析》第三册第十四章中定理 14.1.1 的证明。

梯度与另一概念——方向导数——有着密切的联系,它们在优化中有着重要而广泛的应用。下面给出方向导数的定义:

定义 3:如果 f(x)f\left(\boldsymbol{x} \right)f(x) 可微,则我们称

lim⁡α→0f(x0+αd)−f(x0)α\lim_{\alpha \rightarrow 0} \frac{f\left(\boldsymbol{x}_0 + \alpha \boldsymbol{d} \right) - f\left(\boldsymbol{x}_0 \right)}{\alpha}α→0lim​αf(x0​+αd)−f(x0​)​ 为 f(x)f\left(\boldsymbol{x} \right)f(x) 在 x0\boldsymbol{x}_0x0​ 处沿方向 d\boldsymbol{d}d 的导数,记作 ∂f∂d(x0)\frac{\partial f}{\partial \boldsymbol{d}} \left(\boldsymbol{x}_0 \right)∂d∂f​(x0​)。

利用函数可微及方向导数的定义,我们立即可以得到:

∂f∂d(x0)=lim⁡α→0f(x0+αd)−f(x0)α=∇f(x0)Td\frac{\partial f}{\partial \boldsymbol{d}} \left(\boldsymbol{x}_0 \right) = \lim_{\alpha \rightarrow 0} \frac{f\left(\boldsymbol{x}_0 + \alpha \boldsymbol{d} \right) - f\left(\boldsymbol{x}_0 \right)}{\alpha} = \nabla f\left(\boldsymbol{x}_0 \right)^T \boldsymbol{d}∂d∂f​(x0​)=α→0lim​αf(x0​+αd)−f(x0​)​=∇f(x0​)Td

可见,f(x)f\left(\boldsymbol{x} \right)f(x) 在 x0\boldsymbol{x}_0x0​ 处沿方向 d\boldsymbol{d}d 的导数等于梯度与方向的欧式内积,又根据柯西施瓦兹不等式,我们有:

∣∂f∂d(x0)∣=∣∇f(x0)Td∣≤∥∇f(x0)∥2∥d∥2\left| \frac{\partial f}{\partial \boldsymbol{d}} \left(\boldsymbol{x}_0 \right) \right| = \left| \nabla f\left(\boldsymbol{x}_0 \right)^T \boldsymbol{d} \right| \leq \left \| \nabla f\left(\boldsymbol{x}_0 \right ) \right \|_2 \left \| \boldsymbol{d} \right \|_2∣∣∣∣​∂d∂f​(x0​)∣∣∣∣​=∣∣∣​∇f(x0​)Td∣∣∣​≤∥∇f(x0​)∥2​∥d∥2​

−∥∇f(x0)∥2∥d∥2≤∇f(x0)Td≤∥∇f(x0)∥2∥d∥2- \left \| \nabla f\left(\boldsymbol{x}_0 \right ) \right \|_2 \left \| \boldsymbol{d} \right \|_2 \leq \nabla f\left(\boldsymbol{x}_0 \right)^T \boldsymbol{d} \leq \left \| \nabla f\left(\boldsymbol{x}_0 \right ) \right \|_2 \left \| \boldsymbol{d} \right \|_2−∥∇f(x0​)∥2​∥d∥2​≤∇f(x0​)Td≤∥∇f(x0​)∥2​∥d∥2​

且左侧等号成立当且仅当 d=c∇f(x0),c&lt;0\boldsymbol{d} = c\nabla f\left(\boldsymbol{x}_0 \right ),\ c &lt; 0d=c∇f(x0​), c<0,右侧等号成立当且仅当 d=c∇f(x0),c&gt;0\boldsymbol{d} = c\nabla f\left(\boldsymbol{x}_0 \right ),\ c &gt; 0d=c∇f(x0​), c>0。由此我们可以知道:在所有可能方向中,梯度方向是使得函数增长最快的方向,负梯度方向是使得函数下降最快的方向,这一结论便是重要的优化方法——梯度下降法——的核心思想与理论基础。此外,在一定条件下保证每次迭代,函数在新迭代点上的值都比原迭代点小,是不少优化方法(如共轭梯度法)在选择迭代方向时遵循的基本原则之一,而这一基本原则用数学语言描述就是:每次迭代,函数在当前迭代点 xk\boldsymbol{x}_kxk​ 沿下一步迭代方向 dk\boldsymbol{d}_kdk​ 的方向导数小于 0,即:∀k∈N,∇f(xk)Tdk&lt;0\forall k \in \mathrm{N},\ \nabla f\left(\boldsymbol{x}_k \right)^T \boldsymbol{d}_k &lt; 0∀k∈N, ∇f(xk​)Tdk​<0。

我们将第 (i,j)\left(i,j \right)(i,j) 个元素为 ∂f(x0)∂xi∂xj\frac{\partial f\left(\boldsymbol{x}_0 \right)}{\partial x_i \partial x_j}∂xi​∂xj​∂f(x0​)​ 的 n×nn\times nn×n 矩阵称为 f(x)f\left(\boldsymbol{x} \right)f(x) 在 x0\boldsymbol{x}_0x0​ 处的 Hessian 矩阵,记作 Hf(x0)\boldsymbol{H}_f\left( \boldsymbol{x}_0 \right )Hf​(x0​),它与上面提到的梯度、方向导数一样,在优化中有着重要而广泛的应用。包括函数全部一阶偏导信息的梯度与(一阶)方向导数有着密切的联系,同样地,包括函数全部二阶偏导信息的 Hessian 矩阵与二阶方向导数有着密切的联系。下面是二阶方向导数的定义:

定义 4:如果 ∂f∂d(x)\frac{\partial f}{\partial \boldsymbol{d}} \left(\boldsymbol{x} \right)∂d∂f​(x) 存在且可微,则我们称

lim⁡α→0∂f∂d(x0+αd)−∂f∂d(x0)α\lim_{\alpha \rightarrow 0} \frac{\frac{\partial f}{\partial \boldsymbol{d}}\left(\boldsymbol{x}_0 + \alpha \boldsymbol{d} \right) - \frac{\partial f}{\partial \boldsymbol{d}}\left(\boldsymbol{x}_0 \right)}{\alpha}α→0lim​α∂d∂f​(x0​+αd)−∂d∂f​(x0​)​ 为 f(x)f\left(\boldsymbol{x} \right)f(x) 在 x0\boldsymbol{x}_0x0​ 处沿方向 d\boldsymbol{d}d 的二阶导数,记作 ∂2f∂d2(x0)\frac{\partial^2 f}{\partial \boldsymbol{d}^2} \left(\boldsymbol{x}_0 \right)∂d2∂2f​(x0​)。

同样地,利用函数可微及二阶方向导数的定义,我们容易验证下式成立:

∂2f∂d2(x0)=lim⁡α→0∂f∂d(x0+αd)−∂f∂d(x0)α=dTHf(x0)d\frac{\partial^2 f}{\partial \boldsymbol{d}^2} \left(\boldsymbol{x}_0 \right) = \lim_{\alpha \rightarrow 0} \frac{\frac{\partial f}{\partial \boldsymbol{d}}\left(\boldsymbol{x}_0 + \alpha \boldsymbol{d} \right) - \frac{\partial f}{\partial \boldsymbol{d}}\left(\boldsymbol{x}_0 \right)}{\alpha} = \boldsymbol{d}^T\boldsymbol{H}_f\left(\boldsymbol{x}_0 \right ) \boldsymbol{d}∂d2∂2f​(x0​)=α→0lim​α∂d∂f​(x0​+αd)−∂d∂f​(x0​)​=dTHf​(x0​)d

本小节最后,我们给出多元函数的泰勒公式(证明见北京大学出版社出版的由伍胜健编著的《数学分析》第三册第十四章的定理 14.3.1):

定理 8:设 f(x)f\left(\boldsymbol{x} \right)f(x) 具有 (r+1)\left(r+1 \right)(r+1) 阶连续偏导数,则有
f(x+d)=f(x)+∑k=1r1k!(∑i=1ndi∂∂xi)kf(x)+1(r+1)!(∑i=1ndi∂∂xi)r+1f(ξ),ξ∈(x,x+d)f\left(\boldsymbol{x+d} \right) = f\left(\boldsymbol{x} \right) + \sum_{k=1}^{r}\frac{1}{k!}\left ( \sum_{i=1}^{n}d_i \frac{\partial}{\partial x_i} \right )^kf\left(\boldsymbol{x} \right) + \frac{1}{\left ( r+1 \right )!}\left ( \sum_{i=1}^{n}d_i \frac{\partial}{\partial x_i} \right )^{r+1}f\left(\boldsymbol{\xi } \right),\ \boldsymbol{\xi } \in \left ( \boldsymbol{x},\boldsymbol{x}+\boldsymbol{d} \right )f(x+d)=f(x)+k=1∑r​k!1​(i=1∑n​di​∂xi​∂​)kf(x)+(r+1)!1​(i=1∑n​di​∂xi​∂​)r+1f(ξ), ξ∈(x,x+d)或者
f(x+d)=f(x)+∑k=1r+11k!(∑i=1ndi∂∂xi)kf(x)+o(∥d∥r+1)f\left(\boldsymbol{x+d} \right) = f\left(\boldsymbol{x} \right) + \sum_{k=1}^{r+1}\frac{1}{k!}\left ( \sum_{i=1}^{n}d_i \frac{\partial}{\partial x_i} \right )^kf\left(\boldsymbol{x} \right) + o\left(\left \| \boldsymbol{d} \right \|^{r+1} \right )f(x+d)=f(x)+k=1∑r+1​k!1​(i=1∑n​di​∂xi​∂​)kf(x)+o(∥d∥r+1)

推论 1:设 f(x)f\left(\boldsymbol{x} \right)f(x) 具有一阶连续偏导数,则有
f(x+d)=f(x)+∇f(ξ)Td,ξ∈(x,x+d)f\left(\boldsymbol{x+d} \right) = f\left(\boldsymbol{x} \right) + \nabla f\left(\boldsymbol{\xi } \right)^T \boldsymbol{d},\ \boldsymbol{\xi} \in \left(\boldsymbol{x},\boldsymbol{x}+\boldsymbol{d} \right)f(x+d)=f(x)+∇f(ξ)Td, ξ∈(x,x+d) 或者
f(x+d)=f(x)+∇f(x)Td+o(∥d∥)f\left(\boldsymbol{x+d} \right) = f\left(\boldsymbol{x} \right) + \nabla f\left(\boldsymbol{x} \right)^T \boldsymbol{d} + o\left(\left \| \boldsymbol{d} \right \| \right)f(x+d)=f(x)+∇f(x)Td+o(∥d∥)

推论 2:设 f(x)f\left(\boldsymbol{x} \right)f(x) 具有二阶连续偏导数,则有

f(x+d)=f(x)+∇f(x)Td+12dTHf(ξ)d,ξ∈(x,x+d)f\left(\boldsymbol{x+d} \right) = f\left(\boldsymbol{x} \right) + \nabla f\left(\boldsymbol{x} \right)^T \boldsymbol{d} + \frac{1}{2} \boldsymbol{d}^T \boldsymbol{H}_f\left(\boldsymbol{\xi } \right ) \boldsymbol{d},\ \boldsymbol{\xi} \in \left(\boldsymbol{x},\boldsymbol{x}+\boldsymbol{d} \right)f(x+d)=f(x)+∇f(x)Td+21​dTHf​(ξ)d, ξ∈(x,x+d) 或者
f(x+d)=f(x)+∇f(x)Td+12dTHf(x)d+o(∥d∥2)f\left(\boldsymbol{x+d} \right) = f\left(\boldsymbol{x} \right) + \nabla f\left(\boldsymbol{x} \right)^T \boldsymbol{d} + \frac{1}{2} \boldsymbol{d}^T \boldsymbol{H}_f\left(\boldsymbol{x} \right ) \boldsymbol{d} + o\left(\left \| \boldsymbol{d} \right \|^2 \right)f(x+d)=f(x)+∇f(x)Td+21​dTHf​(x)d+o(∥d∥2)

与梯度、Hessian 矩阵一样,一阶、二阶泰勒公式在优化中同样有着重要而广泛的应用。它给出了函数的一阶或二阶近似,而大多数优化方法是基于函数的一阶或二阶近似模型给出的。此外,我们还可以看到,函数 f(x)f\left(\boldsymbol{x} \right)f(x) 在 x+d\boldsymbol{x} + \boldsymbol{d}x+d 的一阶近似是 f(x)f\left(\boldsymbol{x} \right)f(x) 与 f(x)f\left(\boldsymbol{x} \right)f(x) 的方向导数的和,二阶近似是 f(x)f\left(\boldsymbol{x} \right)f(x)、f(x)f\left(\boldsymbol{x} \right)f(x) 的方向导数与 f(x)f\left(\boldsymbol{x} \right)f(x) 二阶方向导数的一半的和。

1.2.3 向量值函数的微分

我们首先给出向量值函数可微与微分的定义:

定义 5:如果存在一个仅依赖于 x0∈Rn\boldsymbol{x}_0 \in R^nx0​∈Rn 的 m×nm\times nm×n 矩阵 A\boldsymbol{A}A 使得

f(x0+Δx)−f(x0)=AΔx+o(∥Δx∥)\boldsymbol{f}\left(\boldsymbol{x}_0 + \Delta\boldsymbol{x} \right) - \boldsymbol{f}\left(\boldsymbol{x}_0 \right) = \boldsymbol{A}\Delta\boldsymbol{x} + \boldsymbol{o}\left(\left \| \Delta\boldsymbol{x} \right \| \right)f(x0​+Δx)−f(x0​)=AΔx+o(∥Δx∥) 其中 o(∥Δx∥)=(o1(∥Δx∥),o2(∥Δx∥),⋯&ThinSpace;,om(∥Δx∥))T\boldsymbol{o}\left(\left \| \Delta\boldsymbol{x} \right \| \right) = \left(o_1\left(\left \| \Delta\boldsymbol{x} \right \| \right),o_2\left(\left \| \Delta\boldsymbol{x} \right \| \right),\cdots,o_m\left(\left \| \Delta\boldsymbol{x} \right \| \right) \right)^To(∥Δx∥)=(o1​(∥Δx∥),o2​(∥Δx∥),⋯,om​(∥Δx∥))T 是由 mmm 个 ∥Δx∥\left \| \Delta\boldsymbol{x} \right \|∥Δx∥ 的高阶无穷小构成的列向量,则我们称 f(x)=(f1(x),f2(x),⋯&ThinSpace;,fm(x))T\boldsymbol{f}\left(\boldsymbol{x} \right) = \left(f_1\left(\boldsymbol{x} \right),f_2\left(\boldsymbol{x} \right),\cdots,f_m\left(\boldsymbol{x} \right) \right)^Tf(x)=(f1​(x),f2​(x),⋯,fm​(x))T 在 x0\boldsymbol{x}_0x0​ 处可微或可导,称矩阵 A\boldsymbol{A}A 为 f(x)\boldsymbol{f}\left(\boldsymbol{x} \right)f(x) 在 x0\boldsymbol{x}_0x0​ 处的 Fréchet 导数(Fréchet derivative),并称 AΔx\boldsymbol{A}\Delta\boldsymbol{x}AΔx 为 f(x)\boldsymbol{f}\left(\boldsymbol{x} \right)f(x) 在 x0\boldsymbol{x}_0x0​ 处的(全)微分。

可以证明:向量值函数 f(x)\boldsymbol{f}\left(\boldsymbol{x} \right)f(x) 在 x0\boldsymbol{x}_0x0​ 处可微当且仅当它的每个分量 fi(x)f_i\left(\boldsymbol{x} \right)fi​(x) 在 x0,i=1,2,⋯&ThinSpace;,m\boldsymbol{x}_0,\ i = 1,2,\cdots,mx0​, i=1,2,⋯,m 处可微,从而有 fi(x)f_i\left(\boldsymbol{x} \right)fi​(x) 在 x0\boldsymbol{x}_0x0​ 处连续,fi(x)f_i\left(\boldsymbol{x} \right)fi​(x) 在 x0\boldsymbol{x}_0x0​ 处的偏导 ∂fi(x0)∂xj,j=1,2,⋯&ThinSpace;,n\frac{\partial f_i\left(\boldsymbol{x}_0 \right )}{\partial x_j},\ j = 1,2,\cdots,n∂xj​∂fi​(x0​)​, j=1,2,⋯,n 存在且 A\boldsymbol{A}A 为 f(x)\boldsymbol{f}\left(\boldsymbol{x} \right)f(x) 在 x0\boldsymbol{x}_0x0​ 处的 Jacobian 矩阵,即

A=(∇f1(x0)T∇f2(x0)T⋮∇fm(x0)T)=[∂f1(x0)∂x1∂f1(x0)∂x2⋯∂f1(x0)∂xn∂f2(x0)∂x1∂f2(x0)∂x2⋯∂f2(x0)∂xn⋮⋮⋮∂fm(x0)∂x1∂fm(x0)∂x2⋯∂fm(x0)∂xn]≜Jf(x0)\boldsymbol{A} = \begin{pmatrix} \nabla f_1\left(\boldsymbol{x}_0 \right)^T \\ \nabla f_2\left(\boldsymbol{x}_0 \right)^T \\ \vdots \\ \nabla f_m\left(\boldsymbol{x}_0 \right)^T \end{pmatrix} = \begin{bmatrix} \frac{\partial f_1\left(\boldsymbol{x}_0 \right )}{\partial x_1} &amp; \frac{\partial f_1\left(\boldsymbol{x}_0 \right )}{\partial x_2} &amp; \cdots &amp; \frac{\partial f_1\left(\boldsymbol{x}_0 \right )}{\partial x_n} \\ \frac{\partial f_2\left(\boldsymbol{x}_0 \right )}{\partial x_1} &amp; \frac{\partial f_2\left(\boldsymbol{x}_0 \right )}{\partial x_2} &amp; \cdots &amp; \frac{\partial f_2\left(\boldsymbol{x}_0 \right )}{\partial x_n} \\ \vdots &amp; \vdots &amp; &amp; \vdots \\ \frac{\partial f_m\left(\boldsymbol{x}_0 \right )}{\partial x_1} &amp; \frac{\partial f_m\left(\boldsymbol{x}_0 \right )}{\partial x_2} &amp; \cdots &amp; \frac{\partial f_m\left(\boldsymbol{x}_0 \right )}{\partial x_n} \end{bmatrix} \triangleq \boldsymbol{J}_{\boldsymbol{f}}\left(\boldsymbol{x}_0 \right)A=⎝⎜⎜⎜⎛​∇f1​(x0​)T∇f2​(x0​)T⋮∇fm​(x0​)T​⎠⎟⎟⎟⎞​=⎣⎢⎢⎢⎢⎡​∂x1​∂f1​(x0​)​∂x1​∂f2​(x0​)​⋮∂x1​∂fm​(x0​)​​∂x2​∂f1​(x0​)​∂x2​∂f2​(x0​)​⋮∂x2​∂fm​(x0​)​​⋯⋯⋯​∂xn​∂f1​(x0​)​∂xn​∂f2​(x0​)​⋮∂xn​∂fm​(x0​)​​⎦⎥⎥⎥⎥⎤​≜Jf​(x0​)

如需了解详细证明过程,可参考由北京大学出版社出版、由伍胜健编著的《数学分析》第三册第十四章中定理 14.1.4 和定理 14.1.1 的证明。

下面定理的推论将给出用线性模型 f(x)+Jf(x)d\boldsymbol{f}\left(\boldsymbol{x} \right) + \boldsymbol{J}_{\boldsymbol{f}}\left(\boldsymbol{x} \right) \boldsymbol{d}f(x)+Jf​(x)d 近似 f(x+d)\boldsymbol{f}\left(\boldsymbol{x}+\boldsymbol{d} \right)f(x+d) 时所产生的误差上界。

定理 9:若 f:Rn→Rm\boldsymbol{f}:R^n \rightarrow R^mf:Rn→Rm 在开凸集 D 上偏导存在且连续,则 ∀x,u,v∈D\forall \boldsymbol{x},\boldsymbol{u},\boldsymbol{v} \in D∀x,u,v∈D,有:

∥f(u)−f(v)−Jf(x)(u−v)∥≤∥u−v∥sup⁡0≤t≤1∥Jf(v+t(u−v))−Jf(x)∥\left \| \boldsymbol{f}\left ( \boldsymbol{u} \right ) - \boldsymbol{f}\left ( \boldsymbol{v} \right ) - \boldsymbol{J}_{\boldsymbol{f}}\left(\boldsymbol{x} \right )\left(\boldsymbol{u}-\boldsymbol{v} \right )\right \| \leq \left \| \boldsymbol{u}-\boldsymbol{v} \right \|\underset{0\leq t\leq 1}{\sup}\left \| \boldsymbol{J}_{\boldsymbol{f}}\left(\boldsymbol{v}+t\left(\boldsymbol{u}-\boldsymbol{v} \right ) \right ) - \boldsymbol{J}_{\boldsymbol{f}}\left(\boldsymbol{x} \right ) \right \|∥f(u)−f(v)−Jf​(x)(u−v)∥≤∥u−v∥0≤t≤1sup​∥Jf​(v+t(u−v))−Jf​(x)∥ 若 Jf(x)\boldsymbol{J}_{\boldsymbol{f}}\left(\boldsymbol{x} \right)Jf​(x) 在 DDD 上 Lipschitz 连续,即 ∀x,y∈D\forall\ \boldsymbol{x},\ \boldsymbol{y} \in D∀ x, y∈D,存在 Lipschitz 常数 γ&gt;0\gamma &gt; 0γ>0 使 ∥Jf(x)−Jf(y)∥≤\left \| \boldsymbol{J}_{\boldsymbol{f}}\left(\boldsymbol{x} \right ) - \boldsymbol{J}_{\boldsymbol{f}}\left(\boldsymbol{y} \right ) \right \| \leq∥Jf​(x)−Jf​(y)∥≤ γ∥x−y∥\gamma\left \| \boldsymbol{x}-\boldsymbol{y} \right \|γ∥x−y∥,则有:

∥f(u)−f(v)−Jf(x)(u−v)∥≤γ∥u−x∥+∥v−x∥2∥u−v∥≤γσ(u,v)∥u−v∥\left \| \boldsymbol{f}\left ( \boldsymbol{u} \right ) - \boldsymbol{f}\left ( \boldsymbol{v} \right ) - \boldsymbol{J}_{\boldsymbol{f}}\left(\boldsymbol{x} \right )\left(\boldsymbol{u}-\boldsymbol{v} \right )\right \| \leq \gamma \frac{\left \| \boldsymbol{u}-\boldsymbol{x} \right \| + \left \| \boldsymbol{v}-\boldsymbol{x} \right \|}{2} \left \| \boldsymbol{u}-\boldsymbol{v} \right \| \leq \gamma \sigma\left(\boldsymbol{u},\boldsymbol{v} \right) \left \| \boldsymbol{u}-\boldsymbol{v} \right \|∥f(u)−f(v)−Jf​(x)(u−v)∥≤γ2∥u−x∥+∥v−x∥​∥u−v∥≤γσ(u,v)∥u−v∥ 这里 σ(u,v)=max⁡{∥u−x∥,∥v−x∥}\sigma\left(\boldsymbol{u},\boldsymbol{v} \right) = \max \left \{ \left \| \boldsymbol{u}-\boldsymbol{x} \right \|,\left \| \boldsymbol{v}-\boldsymbol{x} \right \| \right \}σ(u,v)=max{∥u−x∥,∥v−x∥}

推论 3:若 f:Rn→Rm\boldsymbol{f}:R^n \rightarrow R^mf:Rn→Rm 在开凸集 D 上偏导存在且连续,则 ∀x,x+d∈D\forall \boldsymbol{x},\boldsymbol{x} + \boldsymbol{d} \in D∀x,x+d∈D,有:

∥f(x+d)−f(x)−Jf(x)d∥≤∥d∥sup⁡0≤t≤1∥Jf(x+td)−Jf(x)∥\left \| \boldsymbol{f}\left ( \boldsymbol{x} + \boldsymbol{d} \right ) - \boldsymbol{f}\left ( \boldsymbol{x} \right ) - \boldsymbol{J}_{\boldsymbol{f}}\left(\boldsymbol{x} \right )\boldsymbol{d}\right \| \leq \left \| \boldsymbol{d} \right \|\underset{0\leq t\leq 1}{\sup}\left \| \boldsymbol{J}_{\boldsymbol{f}}\left(\boldsymbol{x}+t\boldsymbol{d} \right ) - \boldsymbol{J}_{\boldsymbol{f}}\left(\boldsymbol{x} \right ) \right \|∥f(x+d)−f(x)−Jf​(x)d∥≤∥d∥0≤t≤1sup​∥Jf​(x+td)−Jf​(x)∥ 若 Jf(x)\boldsymbol{J}_{\boldsymbol{f}}\left(\boldsymbol{x} \right)Jf​(x) 在 DDD 中是 Lipschitz 连续的,则有:

∥f(x+d)−f(x)−Jf(x)d∥≤γ2∥d∥2≤γ∥d∥2\left \| \boldsymbol{f}\left ( \boldsymbol{x} + \boldsymbol{d} \right ) - \boldsymbol{f}\left ( \boldsymbol{x} \right ) - \boldsymbol{J}_{\boldsymbol{f}}\left(\boldsymbol{x} \right )\boldsymbol{d}\right \| \leq \frac{\gamma}{2} \left \| \boldsymbol{d} \right \|^2 \leq \gamma \left \| \boldsymbol{d} \right \|^2∥f(x+d)−f(x)−Jf​(x)d∥≤2γ​∥d∥2≤γ∥d∥2 这里 γ\gammaγ 为 Lipschitz 常数。

通过以上推论,我们知道:用线性模型 f(x)+Jf(x)d\boldsymbol{f}\left(\boldsymbol{x} \right) + \boldsymbol{J}_{\boldsymbol{f}}\left(\boldsymbol{x} \right) \boldsymbol{d}f(x)+Jf​(x)d 近似 f(x+d)\boldsymbol{f}\left(\boldsymbol{x}+\boldsymbol{d} \right)f(x+d) 所产生的误差存在一个上界,这个上界是 ∥d∥2\left \| \boldsymbol{d} \right \|^2∥d∥2 的常数倍,而当 Jacobian 矩阵 Lipschitz 连续时,这个常数就是 Lipschitz 常数的 1/2。下面给出该定理的证明:

证明:由 f\boldsymbol{f}f 的一阶偏导连续性我们有(注:关于该结论,笔者是存疑的,对于向量值函数而言,其每个分量函数的一阶泰勒展开所对应的 t 不一定相同,为什么这里是相同的)

f(u)−f(v)=∫01Jf(tu+(1−t)v)(u−v)dt\boldsymbol{f}\left(\boldsymbol{u} \right ) - \boldsymbol{f}\left(\boldsymbol{v} \right ) = \int_{0}^{1}\boldsymbol{J}_{\boldsymbol{f}}\left ( t\boldsymbol{u} + \left( 1-t \right )\boldsymbol{v} \right ) \left(\boldsymbol{u} - \boldsymbol{v} \right )\mathrm{d}tf(u)−f(v)=∫01​Jf​(tu+(1−t)v)(u−v)dt 从而

∥f(u)−f(v)−Jf(x)(u−v)∥≤∫01∥[Jf(tu+(1−t)v)−Jf(x)](u−v)∥dt≤∫01∥Jf(tu+(1−t)v)−Jf(x)∥∥u−v∥dt≤∥u−v∥sup⁡0≤t≤1∥Jf(v+t(u−v))−Jf(x)∥\begin{aligned} &amp;\quad \ \left \| \boldsymbol{f}\left(\boldsymbol{u} \right ) - \boldsymbol{f}\left(\boldsymbol{v} \right ) - \boldsymbol{J}_{\boldsymbol{f}}\left ( \boldsymbol{x} \right ) \left(\boldsymbol{u} - \boldsymbol{v} \right ) \right \| \\ &amp; \leq \int_{0}^{1} \left \| \left [ \boldsymbol{J}_{\boldsymbol{f}}\left ( t\boldsymbol{u} + \left( 1-t \right )\boldsymbol{v} \right ) - \boldsymbol{J}_{\boldsymbol{f}}\left ( \boldsymbol{x} \right ) \right ] \left(\boldsymbol{u} - \boldsymbol{v} \right ) \right \|\mathrm{d}t \\ &amp; \leq \int_{0}^{1} \left \| \boldsymbol{J}_{\boldsymbol{f}}\left ( t\boldsymbol{u} + \left( 1-t \right )\boldsymbol{v} \right ) - \boldsymbol{J}_{\boldsymbol{f}}\left ( \boldsymbol{x} \right ) \right \| \left \| \boldsymbol{u} - \boldsymbol{v} \right \|\mathrm{d}t \\ &amp;\leq \left \| \boldsymbol{u}-\boldsymbol{v} \right \|\underset{0\leq t\leq 1}{\sup}\left \| \boldsymbol{J}_{\boldsymbol{f}}\left(\boldsymbol{v}+t\left(\boldsymbol{u}-\boldsymbol{v} \right ) \right ) - \boldsymbol{J}_{\boldsymbol{f}}\left(\boldsymbol{x} \right ) \right \| \end{aligned}​ ∥f(u)−f(v)−Jf​(x)(u−v)∥≤∫01​∥[Jf​(tu+(1−t)v)−Jf​(x)](u−v)∥dt≤∫01​∥Jf​(tu+(1−t)v)−Jf​(x)∥∥u−v∥dt≤∥u−v∥0≤t≤1sup​∥Jf​(v+t(u−v))−Jf​(x)∥​ 如果 Jf(x)\boldsymbol{J}_{\boldsymbol{f}}\left(\boldsymbol{x} \right)Jf​(x) 在 DDD 上 Lipschitz 连续,则有

∥f(u)−f(v)−Jf(x)(u−v)∥≤∫01∥Jf(tu+(1−t)v)−Jf(x)∥∥u−v∥dt≤∫01γ∥tu+(1−t)v−x∥∥u−v∥dt=∫01γ∥t(u−x)+(1−t)(v−x)∥∥u−v∥dt≤γ∥u−v∥∫01[t∥u−x∥+(1−t)∥v−x∥]dt=γ∥u−v∥[∥u−x∥∫01tdt+∥v−x∥∫01(1−t)dt]=γ∥u−x∥+∥v−x∥2∥u−v∥≤γmax⁡{∥u−x∥,∥v−x∥}∥u−v∥\begin{aligned} &amp;\quad \ \left \| \boldsymbol{f}\left(\boldsymbol{u} \right ) - \boldsymbol{f}\left(\boldsymbol{v} \right ) - \boldsymbol{J}_{\boldsymbol{f}}\left ( \boldsymbol{x} \right ) \left(\boldsymbol{u} - \boldsymbol{v} \right ) \right \| \\ &amp; \leq \int_{0}^{1} \left \| \boldsymbol{J}_{\boldsymbol{f}}\left ( t\boldsymbol{u} + \left( 1-t \right )\boldsymbol{v} \right ) - \boldsymbol{J}_{\boldsymbol{f}}\left ( \boldsymbol{x} \right ) \right \| \left \| \boldsymbol{u} - \boldsymbol{v} \right \|\mathrm{d}t \\ &amp; \leq \int_{0}^{1} \gamma \left \| t\boldsymbol{u} + \left( 1-t \right )\boldsymbol{v} - \boldsymbol{x} \right \| \left \| \boldsymbol{u} - \boldsymbol{v} \right \|\mathrm{d}t \\ &amp; = \int_{0}^{1} \gamma \left \| t\left ( \boldsymbol{u}-\boldsymbol{x} \right ) + \left( 1-t \right )\left ( \boldsymbol{v} - \boldsymbol{x} \right ) \right \| \left \| \boldsymbol{u} - \boldsymbol{v} \right \|\mathrm{d}t \\ &amp; \leq \gamma \left \| \boldsymbol{u} - \boldsymbol{v} \right \| \int_{0}^{1} \left [ t\left \| \boldsymbol{u}-\boldsymbol{x}\right \| + \left ( 1-t \right )\left \| \boldsymbol{v}-\boldsymbol{x}\right \| \right ] \mathrm{d}t \\ &amp; = \gamma \left \| \boldsymbol{u} - \boldsymbol{v} \right \| \left [ \left \| \boldsymbol{u}-\boldsymbol{x}\right \| \int_{0}^{1} t \mathrm{d}t + \left \| \boldsymbol{v}-\boldsymbol{x}\right \|\int_{0}^{1} \left ( 1-t \right ) \mathrm{d}t \right ] \\ &amp; = \gamma \frac{\left \| \boldsymbol{u}-\boldsymbol{x} \right \| + \left \| \boldsymbol{v}-\boldsymbol{x} \right \|}{2} \left \| \boldsymbol{u}-\boldsymbol{v} \right \| \\ &amp; \leq \gamma \max \left \{ \left \| \boldsymbol{u}-\boldsymbol{x} \right \|,\left \| \boldsymbol{v}-\boldsymbol{x} \right \| \right \} \left \| \boldsymbol{u}-\boldsymbol{v} \right \| \end{aligned} ​ ∥f(u)−f(v)−Jf​(x)(u−v)∥≤∫01​∥Jf​(tu+(1−t)v)−Jf​(x)∥∥u−v∥dt≤∫01​γ∥tu+(1−t)v−x∥∥u−v∥dt=∫01​γ∥t(u−x)+(1−t)(v−x)∥∥u−v∥dt≤γ∥u−v∥∫01​[t∥u−x∥+(1−t)∥v−x∥]dt=γ∥u−v∥[∥u−x∥∫01​tdt+∥v−x∥∫01​(1−t)dt]=γ2∥u−x∥+∥v−x∥​∥u−v∥≤γmax{∥u−x∥,∥v−x∥}∥u−v∥​ 证毕。

由于向量值函数是函数的推广,适用于向量值函数的推论 3 同样适用于函数。它给出了用线性模型 f(x)+∇f(x)Tdf\left(\boldsymbol{x} \right) + \nabla f\left(\boldsymbol{x} \right)^T \boldsymbol{d}f(x)+∇f(x)Td 近似 f(x+d)f\left(\boldsymbol{x}+\boldsymbol{d} \right)f(x+d) 的误差上界,类似地,我们可以证明:如果 f(x)f\left(x \right)f(x) 在开凸集 DDD 上二阶偏导连续且 Hf(x)\boldsymbol{H}_f\left(x \right)Hf​(x) 在 DDD 上 Lipschitz 连续,则有(注:书上给出的是一个更小的界,书上不是 γ4\frac{\gamma}{4}4γ​ 而是 γ6\frac{\gamma}{6}6γ​,笔者没有证明出来,不知书上正确与否)

∣f(x+d)−[f(x)+∇f(x)Td+12dTHf(x)d]∣≤γ4∥d∥3\left | f\left(\boldsymbol{x}+\boldsymbol{d} \right ) - \left [ f\left(\boldsymbol{x} \right ) + \nabla f\left(\boldsymbol{x} \right )^T\boldsymbol{d} + \frac{1}{2}\boldsymbol{d}^T\boldsymbol{H}_f\left(\boldsymbol{x} \right ) \boldsymbol{d}\right ] \right | \leq \frac{\gamma}{4}\left \| \boldsymbol{d} \right \|^3∣∣∣∣​f(x+d)−[f(x)+∇f(x)Td+21​dTHf​(x)d]∣∣∣∣​≤4γ​∥d∥3

本节最后,我们给出经由向量值函数 f:Rn→Rm\boldsymbol{f}:\ R^n\rightarrow R^mf: Rn→Rm 和函数 g:Rm→R\boldsymbol{g}:\ R^m\rightarrow Rg: Rm→R 得到的复合函数 h=g(f(x))h = g\left(\boldsymbol{f}\left(\boldsymbol{x} \right) \right)h=g(f(x)) 的梯度与 Hessian 矩阵。若 f\boldsymbol{f}f 各分量函数的一阶偏导连续且 g\boldsymbol{g}g 一阶偏导连续,则有:

∇h(x)=Jf(x)T∇g(f(x))\nabla h\left(\boldsymbol{x} \right) = \boldsymbol{J}_{\boldsymbol{f}}\left(x \right)^T \nabla g\left(\boldsymbol{f}\left(\boldsymbol{x} \right) \right)∇h(x)=Jf​(x)T∇g(f(x))

Hh(x)=Jf(x)Hg(f(x))TJf(x)T+∑i=1m∂g(f(x))∂fiHfi(x)\boldsymbol{H}_{h} \left(\boldsymbol{x} \right ) = \boldsymbol{J}_{\boldsymbol{f}} \left(\boldsymbol{x} \right ) \boldsymbol{H}_{g} \left(\boldsymbol{f} \left(\boldsymbol{x} \right) \right )^T \boldsymbol{J}_{\boldsymbol{f}} \left(\boldsymbol{x} \right )^T + \sum_{i=1}^{m}\frac{\partial g\left(\boldsymbol{f}\left(\boldsymbol{x} \right ) \right )}{\partial f_i} \boldsymbol{H}_{f_i}\left(\boldsymbol{x} \right )Hh​(x)=Jf​(x)Hg​(f(x))TJf​(x)T+i=1∑m​∂fi​∂g(f(x))​Hfi​​(x)

若还有 g:Rm→R\boldsymbol{g}:\ R^m\rightarrow Rg: Rm→R 二阶偏导连续(此时 Hessian 矩阵为对称矩阵),则

Hh(x)=Jf(x)Hg(f(x))Jf(x)T+∑i=1m∂g(f(x))∂fiHfi(x)\boldsymbol{H}_{h} \left(\boldsymbol{x} \right ) = \boldsymbol{J}_{\boldsymbol{f}} \left(\boldsymbol{x} \right ) \boldsymbol{H}_{g} \left(\boldsymbol{f} \left(\boldsymbol{x} \right) \right ) \boldsymbol{J}_{\boldsymbol{f}} \left(\boldsymbol{x} \right )^T + \sum_{i=1}^{m}\frac{\partial g\left(\boldsymbol{f}\left(\boldsymbol{x} \right ) \right )}{\partial f_i} \boldsymbol{H}_{f_i}\left(\boldsymbol{x} \right )Hh​(x)=Jf​(x)Hg​(f(x))Jf​(x)T+i=1∑m​∂fi​∂g(f(x))​Hfi​​(x)

1.2.4 差商

以下三个定理分别给出了梯度、Hessian 矩阵和 Jacobian 矩阵的差商近似及近似误差上界。差商(difference quotient)定义为(注:书中称差商为有限差分导数)

f(x+b)−f(x+a)b−a\frac{f\left(\boldsymbol{x}+b \right) - f\left(\boldsymbol{x}+a \right)}{b-a}b−af(x+b)−f(x+a)​

其中形如 f(x+b)−f(x+a)f\left(\boldsymbol{x}+b \right) - f\left(\boldsymbol{x}+a \right)f(x+b)−f(x+a) 的数学表达式被称为有限差分(finite difference)。

定理 10:如果 f(x)f\left(\boldsymbol{x} \right)f(x) 在开凸集 DDD 上二阶偏导连续且 Hf(x)\boldsymbol{H}_f\left(x \right)Hf​(x) 在 DDD 上 Lipschitz 连续,则梯度的差商近似

g=(g1,g2,⋯&ThinSpace;,gn)T,gi=f(x+hei)−f(x−hei)2h\boldsymbol{g} =\left (g_1,g_2,\cdots,g_n \right)^T,\ g_i = \frac{f\left(\boldsymbol{x}+h\boldsymbol{e}_i \right )-f\left(\boldsymbol{x}-h\boldsymbol{e}_i \right )}{2h}g=(g1​,g2​,⋯,gn​)T, gi​=2hf(x+hei​)−f(x−hei​)​ 满足

∣gi−∂f(x)∂xi∣≤γ6h2∥g−∇f(x)∥∞≤γ6h2\left| g_i - \frac{\partial f\left(\boldsymbol{x} \right)}{\partial x_i} \right| \leq \frac{\gamma}{6}h^2 \\ \left \| \boldsymbol{g} - \nabla f\left(\boldsymbol{x} \right) \right \|_\infty \leq \frac{\gamma}{6}h^2∣∣∣∣​gi​−∂xi​∂f(x)​∣∣∣∣​≤6γ​h2∥g−∇f(x)∥∞​≤6γ​h2 这里 hhh 为常数,ei\boldsymbol{e}_iei​ 为第 iii 个分量为 1,其余分量为 0 的单位向量。

定理 11:如果 f(x)f\left(\boldsymbol{x} \right)f(x) 在开凸集 DDD 上二阶偏导连续且 Hf(x)\boldsymbol{H}_f\left(x \right)Hf​(x) 在 DDD 上 Lipschitz 连续,则 Hessian 矩阵的差商近似

A=(aij)n×n,aij=f(x+hei+hej)−f(x+hei)−f(x+hej)+f(x)2h2\boldsymbol{A} =\left(a_{ij} \right)_{n\times n},\ a_{ij} = \frac{f\left(\boldsymbol{x}+h\boldsymbol{e}_i+h\boldsymbol{e}_j \right )-f\left(\boldsymbol{x}+h\boldsymbol{e}_i \right )-f\left(\boldsymbol{x}+h\boldsymbol{e}_j \right )+f\left(\boldsymbol{x}\right )}{2h^2}A=(aij​)n×n​, aij​=2h2f(x+hei​+hej​)−f(x+hei​)−f(x+hej​)+f(x)​ 满足

∣aij−∂2f(x)∂xi∂xj∣≤γh4∥A−Hf(x)∥1/∞/F≤γhn4\left| a_{ij} - \frac{\partial^2 f\left(\boldsymbol{x} \right)}{\partial x_i \partial x_j} \right| \leq \frac{\gamma h}{4} \\ \left \| \boldsymbol{A} - \boldsymbol{H}_f\left(\boldsymbol{x} \right) \right \|_{1/\infty/F} \leq \frac{\gamma hn}{4}∣∣∣∣​aij​−∂xi​∂xj​∂2f(x)​∣∣∣∣​≤4γh​∥A−Hf​(x)∥1/∞/F​≤4γhn​ 这里 hhh 为常数,ei\boldsymbol{e}_iei​ 为第 iii 个分量为 1,其余分量为 0 的单位向量。

定理 12:如果 f(x)\boldsymbol{f}\left(\boldsymbol{x} \right)f(x) 在开凸集 DDD 上一阶偏导连续且 Jf(x)\boldsymbol{J}_{\boldsymbol{f}}\left(\boldsymbol{x} \right)Jf​(x) 在 DDD 上 Lipschitz 连续,则 Jacobian 矩阵的差商近似

A=(aij)n×n,aij=fi(x+hej)−fi(x)h\boldsymbol{A} =\left(a_{ij} \right)_{n\times n},\ a_{ij} = \frac{f_i\left(\boldsymbol{x}+h\boldsymbol{e}_j \right ) -f_i\left(\boldsymbol{x}\right )}{h}A=(aij​)n×n​, aij​=hfi​(x+hej​)−fi​(x)​ 满足

∣A.j−Jf(x).j∣≤γ2∣h∣∥A−Jf(x)∥1≤γ2∣h∣\left| \boldsymbol{A}_{.j} - \boldsymbol{J}_{\boldsymbol{f}}\left ( \boldsymbol{x} \right )_{.j} \right| \leq \frac{\gamma}{2}\left | h \right | \\ \left \| \boldsymbol{A} - \boldsymbol{J}_{\boldsymbol{f}}\left ( \boldsymbol{x} \right ) \right \|_1 \leq \frac{\gamma}{2}\left | h \right |∣∣∣​A.j​−Jf​(x).j​∣∣∣​≤2γ​∣h∣∥A−Jf​(x)∥1​≤2γ​∣h∣ 这里 hhh 为常数,A.j\boldsymbol{A}_{.j}A.j​ 为 AAA 的第 jjj 列,Jf(x).j\boldsymbol{J}_{\boldsymbol{f}}\left ( \boldsymbol{x} \right )_{.j}Jf​(x).j​ 为 Jf(x)\boldsymbol{J}_{\boldsymbol{f}}\left ( \boldsymbol{x} \right )Jf​(x) 第 jjj 列,ei\boldsymbol{e}_iei​ 为第 iii 个分量为 1,其余分量为 0 的单位向量。

上述这些定理的证明主要利用了上小节给出的用线性模型近似原函数的误差上界,如需了解详细证明过程,可参考由科学出版社出版,由袁亚湘、孙文瑜著的《最优化理论与方法》一书的 1.2.6 节。

1.3 凸分析

凸性在最优化理论与方法的研究中起着重要的作用。本节,我们介绍最优化理论中需要用到的凸分析知识,包括:凸集、凸函数和凸集的分离与支撑。

1.3.1 凸集

如果一个集合中连接任意两点的线段上的点依然属于这个集合,那么我们称这样的集合为凸集(convex set)。用数学语言描述就是

Sisconvexset⇔∀x1,x2∈S,αx1+(1−α)x2∈S,∀α∈[0,1]S\ is\ convex\ set \Leftrightarrow \forall \boldsymbol{x}_1,\boldsymbol{x}_2 \in S,\ \alpha \boldsymbol{x}_1 + \left(1-\alpha \right)\boldsymbol{x}_2 \in S, \forall \alpha \in \left[0,1 \right]S is convex set⇔∀x1​,x2​∈S, αx1​+(1−α)x2​∈S,∀α∈[0,1]

根据定义,利用数学归纳法不难验证:RnR^nRn 中的子集 SSS 为凸集当且仅当 SSS 中任意 mmm 个元素 x1,x2,⋯&ThinSpace;,xmx_1,x_2,\cdots,x_mx1​,x2​,⋯,xm​ 的所有凸组合 ∑i=1nαixi\sum_{i=1}^{n} \alpha_i \boldsymbol{x}_i∑i=1n​αi​xi​ 仍然属于 SSS,这里 ∑i=1nαi=1\sum_{i=1}^{n} \alpha_i = 1∑i=1n​αi​=1 且 αi≥0\alpha_i \geq 0αi​≥0。我们将包含 SSS 的最小凸集称为 SSS 的凸包,而这个最小凸集正是由 SSS 中任意 mmm 个元素的所有凸组合构成的,因此如果 SSS 本身为凸集,那么它的凸包就是它自身。下面我们给出一些常见的凸集

  • 线段(line segment):

    {z∈Rn:z=αx+(1−α)y,α∈[0,1]}\left \{\boldsymbol{z} \in R^n: \boldsymbol{z} = \alpha \boldsymbol{x} + \left( 1-\alpha \right) \boldsymbol{y},\ \alpha \in \left[0,1 \right] \right \}{z∈Rn:z=αx+(1−α)y, α∈[0,1]}

  • 射线(ray / half-line):

    {x∈Rn:x=x0+λd,λ≥0,d≠0,x0isafixedpoint}\left \{\boldsymbol{x} \in R^n: \boldsymbol{x} = \boldsymbol{x}_0 + \lambda \boldsymbol{d},\ \lambda \geq 0,\ \boldsymbol{d} \neq 0,\ \boldsymbol{x}_0\ is\ a\ fixed\ point\right \}{x∈Rn:x=x0​+λd, λ≥0, d̸​=0, x0​ is a fixed point}

  • 直线(line):

    {x∈Rn:x=x0+λdforallλ∈R,d≠0,x0isafixedpoint}\left \{\boldsymbol{x} \in R^n: \boldsymbol{x} = \boldsymbol{x}_0 + \lambda \boldsymbol{d}\ for\ all\ \lambda \in R,\ \boldsymbol{d}\neq 0,\ \boldsymbol{x}_0\ is\ a\ fixed\ point\right \}{x∈Rn:x=x0​+λd for all λ∈R, d̸​=0, x0​ is a fixed point}

  • 超平面(hyperplane):

    {x∈Rn:aTx=b,a∈Rn,b∈R}\left \{ \boldsymbol{x} \in R^n: \boldsymbol{a}^T\boldsymbol{x} = b,\ \boldsymbol{a} \in R^n,\ b \in R \right \}{x∈Rn:aTx=b, a∈Rn, b∈R}

  • 半空间(half-space):

    {x∈Rn:aTx≥b,a∈Rn,b∈R}\left \{ \boldsymbol{x} \in R^n: \boldsymbol{a}^T\boldsymbol{x} \geq b,\ \boldsymbol{a} \in R^n,\ b \in R \right \}{x∈Rn:aTx≥b, a∈Rn, b∈R}
    {x∈Rn:aTx≤b,a∈Rn,b∈R}\left \{ \boldsymbol{x} \in R^n: \boldsymbol{a}^T\boldsymbol{x} \leq b,\ \boldsymbol{a} \in R^n,\ b \in R \right \}{x∈Rn:aTx≤b, a∈Rn, b∈R}

  • 线性簇(linear variety):

    {x∈Rn:Ax=b,A∈Rm×n,b∈Rm}\left \{ \boldsymbol{x} \in R^n: \boldsymbol{A}\boldsymbol{x} = \boldsymbol{b},\ \boldsymbol{A} \in R^{m\times n},\ \boldsymbol{b} \in R^m \right \}{x∈Rn:Ax=b, A∈Rm×n, b∈Rm}

  • 多面体(polytope):

    ⋂i=1rHi,Hi={x∈Rn:aiTx≥bioraiTx≤bi,ai∈Rn,bi∈R}\bigcap_{i = 1}^{r} H_i,\ H_i = \left \{ \boldsymbol{x} \in R^n: \boldsymbol{a}_i^T\boldsymbol{x} \geq b_i\ or\ \boldsymbol{a}_i^T\boldsymbol{x} \leq b_i,\ \boldsymbol{a}_i \in R^n,\ b_i \in R \right \}i=1⋂r​Hi​, Hi​={x∈Rn:aiT​x≥bi​ or aiT​x≤bi​, ai​∈Rn, bi​∈R}

  • 多胞形(polyhedra):
    ⋂i=1rHi,Hi={x∈Rn:aiTx≥bioraiTx≤bi,ai∈Rn,bi∈R}∀x∈⋂i=1rHi,∃M&gt;0,s.t.∥x∥≤M\begin{aligned} &amp; \bigcap_{i = 1}^{r} H_i,\ H_i = \left \{ \boldsymbol{x} \in R^n: \boldsymbol{a}_i^T\boldsymbol{x} \geq b_i\ or\ \boldsymbol{a}_i^T\boldsymbol{x} \leq b_i,\ \boldsymbol{a}_i \in R^n,\ b_i \in R \right \} \\ &amp; \forall \boldsymbol{x} \in \bigcap_{i = 1}^{r} H_i,\ \exists M &gt; 0,\ s.t.\left \| \boldsymbol{x} \right \| \leq M \end{aligned}​i=1⋂r​Hi​, Hi​={x∈Rn:aiT​x≥bi​ or aiT​x≤bi​, ai​∈Rn, bi​∈R}∀x∈i=1⋂r​Hi​, ∃M>0, s.t.∥x∥≤M​

两个凸集的交、两个凸集的和仍然为凸集,这是凸集的两条重要性质。上面列出的常见凸集中,线性簇是有限个超平面的和,多面体、多胞形是有限个半空间的交。

我们定义对正的数乘运算封闭的 RnR^nRn 的子集为锥,因而我们将对正的数乘运算封闭的凸集称为凸锥。根据凸集与锥的定义,我们不难知道:RnR^nRn 的子集为凸锥当且仅当它对加法和正的数乘运算是封闭的。下面给出凸锥的几个例子:

  • 各分量均非负的所有向量:{x=(x1,x2,⋯&ThinSpace;,xn)∈Rn:xi≥0}\left \{ \boldsymbol{x} = \left ( x_1,x_2,\cdots,x_n \right ) \in R^n: x_i \geq 0 \right \}{x=(x1​,x2​,⋯,xn​)∈Rn:xi​≥0}
  • 有限个 b=0b = 0b=0 的负半空间的交:{x=(x1,x2,⋯&ThinSpace;,xn)∈Rn:aiTx≤0,ai∈Rn,i∈I}\left \{ \boldsymbol{x} = \left ( x_1,x_2,\cdots,x_n \right ) \in R^n: a_i^T\boldsymbol{x} \leq 0,\ a_i \in R^n,\ i \in I \right \}{x=(x1​,x2​,⋯,xn​)∈Rn:aiT​x≤0, ai​∈Rn, i∈I},这里 III 是任意一个指标集
  • 包含凸集的最小凸锥:{λx:λ&gt;0,x∈C}\left \{ \lambda \boldsymbol{x}: \lambda &gt; 0,\ \boldsymbol{x} \in C \right \}{λx:λ>0, x∈C},这里 CCC 为凸集

本小节最后,我们给出凸集极值点极值方向的定义。

定义 6:不在非空凸集 SSS 中任何线段内部的 SSS 中的点称为非空凸集 SSS 的极值点,即对于任意 SSS 中的极值点 x\boldsymbol{x}x,若 x=αx1+(1−α)x2,α∈(0,1)\boldsymbol{x} = \alpha \boldsymbol{x}_1 + \left( 1-\alpha \right) \boldsymbol{x}_2,\ \alpha \in \left(0,1 \right)x=αx1​+(1−α)x2​, α∈(0,1) 则必有 x=x1=x2\boldsymbol{x} = \boldsymbol{x}_1 = \boldsymbol{x}_2x=x1​=x2​。

定义 7:若对非空凸集 SSS 中的任意点 x\boldsymbol{x}x,使得 ∀λ&gt;0\forall \lambda &gt; 0∀λ>0 都有 x+λd∈S\boldsymbol{x} + \lambda \boldsymbol{d} \in Sx+λd∈S,d≠0\ \boldsymbol{d} \neq 0 d̸​=0,则我们称 d\boldsymbol{d}d 为非空凸集 SSS 的方向。如果 SSS 中的方向 d\boldsymbol{d}d 不能表示成两个不同方向 d1,d2\boldsymbol{d}_1,\boldsymbol{d}_2d1​,d2​ 的正的线性组合,即如果 d=λ1d1+λ2d2,λ1,λ2&gt;0\boldsymbol{d} = \lambda_1 \boldsymbol{d}_1 + \lambda_2 \boldsymbol{d}_2,\ \lambda_1,\lambda_2 &gt; 0d=λ1​d1​+λ2​d2​, λ1​,λ2​>0 必有 d1=αd2,α&gt;0\boldsymbol{d}_1 = \alpha \boldsymbol{d}_2,\ \alpha &gt; 0d1​=αd2​, α>0,则称 d\boldsymbol{d}d 为非空凸集 SSS 的极值方向。

凸集的极值点和极值方向概念在凸集研究中是个有用的概念,但究竟有用在何处,笔者还不得而知。

1.3.2 凸函数

如果定义在非空凸集 SSS 上的函数 fff 满足:

∀x1≠x2∈S,f(αx1+(1−α)x2)≤αf(x1)+(1−α)f(x2),α∈(0,1)\forall \boldsymbol{x}_1 \neq \boldsymbol{x}_2 \in S,\ f\left( \alpha \boldsymbol{x}_1 + \left( 1-\alpha \right) \boldsymbol{x}_2 \right) \leq \alpha f\left(\boldsymbol{x}_1 \right) + \left(1-\alpha \right) f\left(\boldsymbol{x}_2 \right),\ \alpha \in \left(0,1 \right)∀x1​̸​=x2​∈S, f(αx1​+(1−α)x2​)≤αf(x1​)+(1−α)f(x2​), α∈(0,1)

则我们称 fff 为非空凸集 SSS 上的凸函数,如果上述不等式取不到等号,那么我们称 fff 为非空凸集 SSS 上的严格凸函数。如果 fff 还满足:

∀x1≠x2∈S,f(αx1+(1−α)x2)≤αf(x1)+(1−α)f(x2)−cα(1−α)∥x1−x2∥2\forall \boldsymbol{x}_1 \neq \boldsymbol{x}_2 \in S,\ f\left( \alpha \boldsymbol{x}_1 + \left( 1-\alpha \right) \boldsymbol{x}_2 \right) \leq \alpha f\left(\boldsymbol{x}_1 \right) + \left(1-\alpha \right) f\left(\boldsymbol{x}_2 \right) - c\alpha \left(1-\alpha \right) \left \| \boldsymbol{x}_1 - \boldsymbol{x}_2 \right \|^2∀x1​̸​=x2​∈S, f(αx1​+(1−α)x2​)≤αf(x1​)+(1−α)f(x2​)−cα(1−α)∥x1​−x2​∥2

则我们称 fff 为 SSS 上的一致凸函数。由凸函数的定义不难看出,凸函数的图像特征是:凸函数任意两点间的函数图像必位于连接该两点线段的下方

凸函数具有与凸集类似的性质,那就是两个凸函数之和仍然为凸函数,此外,凸函数的正常数倍仍为凸函数。下面我们给出在函数可微和函数二阶可微时,fff 为凸函数的充要条件,它们分别与 fff 的梯度和 Hessian 矩阵有关。

定理 13:若 fff 是定义在非空凸集 SSS 上的可微函数,则 fff 为凸函数当且仅当

f(x)≥f(x0)+∇f(x0)T(x−x0),∀x,x0∈Sf\left(\boldsymbol{x} \right) \geq f\left(\boldsymbol{x}_0 \right) + \nabla f\left(\boldsymbol{x}_0 \right)^T\left(\boldsymbol{x} - \boldsymbol{x}_0\right),\ \forall \boldsymbol{x},\boldsymbol{x}_0 \in Sf(x)≥f(x0​)+∇f(x0​)T(x−x0​), ∀x,x0​∈S

定理 14:若 fff 是定义在非空凸集 SSS 上的二阶可微函数,则 fff 为凸函数当且仅当对于任意 x∈S\boldsymbol{x} \in Sx∈S,Hessian 矩阵 Hf(x)\boldsymbol{H}_f\left(\boldsymbol{x} \right)Hf​(x) 半正定。

上述两个定理很好理解,这里不给出证明,如确有需要了解证明过程,可参考由科学出版社出版,由袁亚湘、孙文瑜著的《最优化理论与方法》一书的 1.3.2 节。定理 13 实际上说的是:对于可微凸函数而言,利用 x0\boldsymbol{x}_0x0​ 处梯度信息构造的原函数的线性近似 f(x0)+∇f(x0)T(x−x0)f\left(\boldsymbol{x}_0 \right) + \nabla f\left(\boldsymbol{x}_0 \right)^T\left(\boldsymbol{x} - \boldsymbol{x}_0\right)f(x0​)+∇f(x0​)T(x−x0​) 是原函数 f(x)f\left(\boldsymbol{x} \right)f(x) 的低估,特别地,对于一元凸函数而言,这种低估说的就是函数任意一点的切线始终位于函数下方。至于定理 14,它是二阶可微的一元函数为凸函数的充分必要条件(二阶导数恒大于等于 0)在多元情形下的自然推广。此外,需要特别指出的是:如果 fff 是严格凸函数,那么对于定理 13,只需把充要条件中的等号去掉即可,但对于定理 14 而言,二阶可微严格凸函数的充要条件不能改为函数每一点的 Hessian 矩阵正定。事实上,如果函数在每一点的 Hessian 矩阵正定则 fff 为严格凸函数,但 fff 为严格凸函数只能保证函数在每一点的 Hessian 矩阵一定半正定,而无法保证一定正定

本小节最后,我们将依托水平集这一概念,进一步阐述凸函数与凸集之间的紧密联系。凸函数是定义在凸集之上的,如果凸函数不定义在凸集之上,那么凸函数定义中的 f(αx1+(1−α)x2)f\left( \alpha \boldsymbol{x}_1 + \left( 1-\alpha \right) \boldsymbol{x}_2 \right)f(αx1​+(1−α)x2​) 可能不存在,因为如果没有凸集的保证,αx1+(1−α)x2\alpha \boldsymbol{x}_1 + \left( 1-\alpha \right) \boldsymbol{x}_2αx1​+(1−α)x2​ 可能不在集合中。而通过接下来的定理我们可以知道:凸函数的水平集是凸集

定理 15:如果 fff 是定义在非空凸集 SSS 上的凸函数,则其水平集

L(x0)={x∈S:f(x)≤f(x0)}L\left(\boldsymbol{x}_0 \right) = \left \{ \boldsymbol{x} \in S: f\left(\boldsymbol{x} \right) \leq f\left(\boldsymbol{x}_0 \right) \right \}L(x0​)={x∈S:f(x)≤f(x0​)} 是凸集,若 fff 可微,则其水平集 L(x0)L\left(\boldsymbol{x}_0 \right)L(x0​) 为闭凸集,进一步,如果 fff 二阶可微且存在 m&gt;0m &gt; 0m>0 使
uTHf(x)u≥m∥u∥2,∀x∈L(x0),u∈Rn\boldsymbol{u}^T\boldsymbol{H}_f\left(\boldsymbol{x} \right)\boldsymbol{u} \geq m \left \| \boldsymbol{u} \right \|^2,\ \forall \boldsymbol{x} \in L\left(\boldsymbol{x}_0 \right),\boldsymbol{u} \in R^nuTHf​(x)u≥m∥u∥2, ∀x∈L(x0​),u∈Rn 则水平集 L(x0)L\left(\boldsymbol{x}_0 \right)L(x0​) 为有界闭凸集。

1.3.3 凸集的分离与支撑

凸集的分离与支撑是研究最优性条件的重要工具。下面的定理,我们首先给出闭凸集内一点 x0\boldsymbol{x}_0x0​ 成为与闭凸集外一点 y\boldsymbol{y}y 距离最短的点所需满足的条件。

定理 16:对于非空闭凸集 SSS 外一点 y\boldsymbol{y}y,SSS 中与其距离最短的点存在且唯一。若记该点为 x0\boldsymbol{x}_0x0​,则 y\boldsymbol{y}y 与 x0\boldsymbol{x}_0x0​ 距离最短当且仅当

(x−x0)T(x0−y)≥0,∀x∈S\left(\boldsymbol{x} - \boldsymbol{x}_0 \right)^T\left(\boldsymbol{x}_0 - \boldsymbol{y} \right) \geq 0,\ \forall \boldsymbol{x} \in S(x−x0​)T(x0​−y)≥0, ∀x∈S

定理 16 初看起来让人有点摸不着头脑,但如果从几何直观上来看,定理 16 给出的结论就容易理解多了。事实上,定理 16 说的是:如果从闭凸集外一点 y\boldsymbol{y}y 指向闭凸集内一点 x0\boldsymbol{x}_0x0​ 的向量 vyx0\boldsymbol{v}_{\boldsymbol{y}\boldsymbol{x}_0}vyx0​​,与从 x0\boldsymbol{x}_0x0​ 指向闭凸集内其他任意点 x\boldsymbol{x}x 的向量 vx0x\boldsymbol{v}_{\boldsymbol{x}_0\boldsymbol{x}}vx0​x​ 的夹角均为锐角或直角,则 x0\boldsymbol{x}_0x0​ 就是闭凸集内与闭凸集外一点 y\boldsymbol{y}y 距离最短的点,反之亦然。(注:对于能从直观上获得很好理解的定理,笔者不关心它的证明过程,当然也不会在这里放上定理的证明,如有兴趣请参考由科学出版社出版的孙文瑜、袁亚湘所著的《最优化理论与方法》)

在叙述凸集与凸集的分离定理之前,我们首先阐述点与凸集的分离定理,它的证明用到了定理 16。

定理 17:存在超平面 H={x∈Rn:aTx=b}H = \left \{\boldsymbol{x} \in R^n:\boldsymbol{a}^T\boldsymbol{x} = b \right \}H={x∈Rn:aTx=b} 严格分离非空闭凸集 SSS 和非空闭凸集 SSS 外一点 yyy。即存在非零向量 a\boldsymbol{a}a 和实数 bbb,使得 aTy&gt;b\boldsymbol{a}^T\boldsymbol{y} &gt; baTy>b 和 aTx≤b,∀x∈S\boldsymbol{a}^T\boldsymbol{x} \leq b,\ \forall \boldsymbol{x} \in SaTx≤b, ∀x∈S.

点与凸集的分离定理是证明凸集与凸集分离定理的基础,因为凸集就是点的集合。此外,该定理还可用来得到在推导约束问题的最优性条件(KKT条件)时需要用到的** Farkas 引理**。

引理 1:若 A\boldsymbol{A}A 为 m×nm\times nm×n 矩阵,b∈Rn\boldsymbol{b} \in R^nb∈Rn,则下列两个方程组中有且仅有一组有解:

Ax≤0,bTx&gt;0ATy=b,y≥0\boldsymbol{Ax} \leq \boldsymbol{0},\ \boldsymbol{b}^T\boldsymbol{x} &gt; 0 \\ \ \\ \boldsymbol{A}^T\boldsymbol{y}=\boldsymbol{b},\ \boldsymbol{y} \geq \boldsymbol{0}Ax≤0, bTx>0 ATy=b, y≥0

通过几何直观,我们可以很好的理解 Farkas 引理。Farkas 引理的几何意义是:b\boldsymbol{b}b 要么在凸锥内,要么在凸锥外。下面依据几何直观给出该引理的不严格的解释性证明:

证明:设凸锥为 A\boldsymbol{A}A 的 m 个行向量或 AT\boldsymbol{A}^TAT 的 m 个列向量 a1,a2,⋯&ThinSpace;,am\boldsymbol{a}_1,\boldsymbol{a}_2,\cdots,\boldsymbol{a}_ma1​,a2​,⋯,am​ 与非负系数构成的线性组合:

{x∈Rn:x=∑i=1nyiai,yi≥0}\left \{\boldsymbol{x}\in R^n: \boldsymbol{x} = \sum_{i=1}^{n} y_i\boldsymbol{a}_i,y_i \geq 0 \right \}{x∈Rn:x=i=1∑n​yi​ai​,yi​≥0} 因此 b\boldsymbol{b}b 在该凸锥内说的就是:

∃y,s.t.ATy=b,y≥0\exists \boldsymbol{y},\ s.t.\boldsymbol{A}^T\boldsymbol{y}=\boldsymbol{b},\ \boldsymbol{y} \geq \boldsymbol{0}∃y, s.t.ATy=b, y≥0 如果 b\boldsymbol{b}b 在凸锥外,那么依据点与凸集的分离定理,我们可以证明此时存在过原点的超平面 pTx=0\boldsymbol{p}^T\boldsymbol{x} = 0pTx=0 分离凸锥与 b\boldsymbol{b}b,即

∃p≠0,s.t.pTb=bTp&gt;0,pTai=aiTp≤0\exists \boldsymbol{p} \neq 0,\ s.t.\boldsymbol{p}^T\boldsymbol{b} = \boldsymbol{b}^T\boldsymbol{p} &gt; 0,\ \boldsymbol{p}^T\boldsymbol{a}_i = \boldsymbol{a}_i^T\boldsymbol{p} \leq 0∃p̸​=0, s.t.pTb=bTp>0, pTai​=aiT​p≤0 因此 b\boldsymbol{b}b 在凸锥外说的就是(注:既然需要满足 bTp&gt;0\boldsymbol{b}^T\boldsymbol{p} &gt; 0bTp>0,所以无需强调 p≠0\boldsymbol{p} \neq 0p̸​=0):

∃p,s.t.Ap≤0,bTp&gt;0\exists \boldsymbol{p},\ s.t.\boldsymbol{Ap} \leq \boldsymbol{0},\ \boldsymbol{b}^T\boldsymbol{p} &gt; 0∃p, s.t.Ap≤0, bTp>0 由于 b\boldsymbol{b}b 要么在凸锥内,要么在凸锥外,而不可能既在凸锥内,又在凸锥外,因而上述引理得证。

下面我们讲述超平面支撑凸集定理,它的证明使用了点与凸集的分离定理,并且它和点与凸集的分离定理一样,是用来证明凸集与凸集分离定理的基础。

定义 8:如果存在 p∈Rn\boldsymbol{p} \in R^np∈Rn 使得非空集合 SSS 以及 SSS 中的边界点 x0\boldsymbol{x}_0x0​ 满足

S⊂H+={x∈S:pT(x−x0)≥0}S \subset H^+ =\left \{\boldsymbol{x}\in S: \boldsymbol{p}^T\left(\boldsymbol{x}-\boldsymbol{x}_0 \right )\geq 0 \right \}S⊂H+={x∈S:pT(x−x0​)≥0}或者
S⊂H−={x∈S:pT(x−x0)≤0}S \subset H^- =\left \{\boldsymbol{x}\in S: \boldsymbol{p}^T\left(\boldsymbol{x}-\boldsymbol{x}_0 \right )\leq 0 \right \}S⊂H−={x∈S:pT(x−x0​)≤0}则称超平面 H={x∈S:pT(x−x0)=0}H =\left \{\boldsymbol{x}\in S: \boldsymbol{p}^T\left(\boldsymbol{x}-\boldsymbol{x}_0 \right )= 0 \right \}H={x∈S:pT(x−x0​)=0} 为 SSS 在边界点 x0\boldsymbol{x}_0x0​ 处的支撑超平面。

支撑超平面的几何意义:过边界点 x0\boldsymbol{x}_0x0​ 的支撑超平面的法向量,与由边界点 x0\boldsymbol{x}_0x0​ 指向凸集内任意一点 x\boldsymbol{x}x 的向量的夹角,要么为锐角或直角,要么为钝角或直角。

定理 18:非空凸集 SSS 的任意边界点 x0\boldsymbol{x}_0x0​ 必存在一个支撑超平面,即存在 p≠0\boldsymbol{p} \neq \boldsymbol{0}p̸​=0 使得

pT(x−x0)≤0,∀x∈Sˉ\boldsymbol{p}^T \left(\boldsymbol{x} - \boldsymbol{x}_0 \right ) \leq 0,\ \forall \boldsymbol{x} \in \bar{S}pT(x−x0​)≤0, ∀x∈Sˉ

这里 Sˉ\bar{S}Sˉ 表示 SSS 的闭包。

点与凸集分离定理告诉我们存在超平面分离凸集与凸集外任意一点,而超平面支撑凸集定理告诉我们:凸集在其每一个边界点上都存在一个支撑超平面。这是否意味着:如果两个凸集没有交集,那么一定存在超平面分离这两个凸集?答案是肯定的,下面的两个定理给出了回答,它们分别被称为凸集的分离定理凸集的强分离定理

定理 19:存在超平面分离非空不交凸集 S1S_1S1​ 和 S2S_2S2​,即存在 p≠0\boldsymbol{p} \neq 0p̸​=0 和 α∈R\alpha \in Rα∈R 使得

pTx1≤α≤pTx2,∀x1∈Sˉ1,x2∈Sˉ2\boldsymbol{p}^T \boldsymbol{x}_1 \leq \alpha \leq \boldsymbol{p}^T \boldsymbol{x}_2,\ \forall \boldsymbol{x}_1 \in \bar{S}_1,\boldsymbol{x}_2 \in \bar{S}_2pTx1​≤α≤pTx2​, ∀x1​∈Sˉ1​,x2​∈Sˉ2​

定理 20:存在超平面分离非空不交有界闭凸集 S1S_1S1​ 和 闭凸集 S2S_2S2​,即存在 p≠0\boldsymbol{p} \neq 0p̸​=0、α∈R\alpha \in Rα∈R 和 ε&gt;0\varepsilon &gt; 0ε>0 使得

pTx1≤α&lt;α+ε≤pTx2,∀x1∈Sˉ1,x2∈Sˉ2\boldsymbol{p}^T \boldsymbol{x}_1 \leq \alpha &lt; \alpha + \varepsilon \leq \boldsymbol{p}^T \boldsymbol{x}_2,\ \forall \boldsymbol{x}_1 \in \bar{S}_1,\boldsymbol{x}_2 \in \bar{S}_2pTx1​≤α<α+ε≤pTx2​, ∀x1​∈Sˉ1​,x2​∈Sˉ2​

1.4 最优性条件

本节,我们介绍最优化理论中目标函数取到极值的条件即最优性条件,包括:无约束优化的最优性条件和约束优化的最优性条件。

1.4.1 无约束优化的最优性条件

下面定理将依次给出无约束优化的最优性条件中的一阶必要条件二阶必要条件二阶充分条件以及无约束凸优化的一阶充要条件

定义 9:设 x∗∈X,d∈Rn\boldsymbol{x}^* \in X,\ \boldsymbol{d} \in R^nx∗∈X, d∈Rn,XXX 为可行域,如果存在 α0&gt;0\alpha_0 &gt; 0α0​>0 使得

x∗+αd∈X,∀α∈[0,α0]\boldsymbol{x}^* + \alpha \boldsymbol{d} \in X,\ \forall \alpha \in \left[0,\alpha_0 \right ]x∗+αd∈X, ∀α∈[0,α0​] 则称 d\boldsymbol{d}d 是 XXX 在 x∗\boldsymbol{x}^*x∗ 处的可行方向(feasible direction, FD)。

定理 21:如果 fff 在 DDD 上一阶偏导连续且 x∗\boldsymbol{x}^*x∗ 是 fff 的局部极小点,那么 fff 在 x∗\boldsymbol{x}^*x∗ 处关于任意可行方向 d\boldsymbol{d}d 的方向导数非负。即

dT∇f(x∗)≥0\boldsymbol{d}^T \nabla f \left(\boldsymbol{x}^* \right ) \geq 0dT∇f(x∗)≥0 进一步,若 DDD 为开集,则有:fff 在 x∗\boldsymbol{x}^*x∗ 处的梯度为零向量,即

∇f(x∗)=0\nabla f \left(\boldsymbol{x}^* \right ) = \boldsymbol{0}∇f(x∗)=0

定理 22:如果 fff 在 DDD 上二阶偏导连续且 x∗\boldsymbol{x}^*x∗ 是 fff 的局部极小点,那么由 fff 在 x∗\boldsymbol{x}^*x∗ 处关于任意可行方向 d\boldsymbol{d}d 的方向导数等于 0 可推得 fff 在 x∗\boldsymbol{x}^*x∗ 处关于任意可行方向 d\boldsymbol{d}d 的二阶方向导数大于等于 0,即
dT∇f(x∗)=0⇒dTHf(x∗)d≥0\boldsymbol{d}^T \nabla f \left(\boldsymbol{x}^* \right ) = 0 \Rightarrow \boldsymbol{d}^T \boldsymbol{H}_f \left(\boldsymbol{x}^* \right )\boldsymbol{d} \geq 0dT∇f(x∗)=0⇒dTHf​(x∗)d≥0 进一步,若 DDD 为开集,则有:fff 在 x∗\boldsymbol{x}^*x∗ 处的梯度为零向量且 fff 在 x∗\boldsymbol{x}^*x∗ 处的 Hessian 矩阵半正定,即

∇f(x∗)=0,Hf(x∗)≥0\nabla f \left(\boldsymbol{x}^* \right ) = \boldsymbol{0},\ \boldsymbol{H}_f \left(\boldsymbol{x}^* \right ) \geq 0∇f(x∗)=0, Hf​(x∗)≥0

定理 22:如果 fff 在开集 DDD 上二阶偏导连续,fff 在 x∗\boldsymbol{x}^*x∗ 处的梯度为零向量且 fff 在 x∗\boldsymbol{x}^*x∗ 处的 Hessian 矩阵正定,即

∇f(x∗)=0,Hf(x∗)&gt;0\nabla f \left(\boldsymbol{x}^* \right ) = \boldsymbol{0},\ \boldsymbol{H}_f \left(\boldsymbol{x}^* \right ) &gt; 0∇f(x∗)=0, Hf​(x∗)>0 那么 x∗\boldsymbol{x}^*x∗ 是 fff 的局部极小点。

定理 23:如果 fff 为开集 DDD 上的凸函数且 fff 在 DDD 上一阶偏导连续,那么 x∗\boldsymbol{x}^*x∗ 是 fff 的全局极小点当且仅当 fff 在 x∗\boldsymbol{x}^*x∗ 处的梯度为零向量,即

∇f(x∗)=0\nabla f \left(\boldsymbol{x}^* \right ) = \boldsymbol{0}∇f(x∗)=0

我们将梯度为 0 向量的点称为函数的平稳点驻点。梯度为 0 的点可能是局部极小点,也可能是局部极大点,也可能不是极值点。我们将不是极值点的驻点称为鞍点。定理 23 告诉我们:凸函数的驻点就是局部极小点,并且是全局极小点

1.4.2 约束优化的最优性条件

我们首先介绍约束优化最优性条件中的一阶必要条件,一阶必要条件中最著名的就是 KKT 条件(Karush–Kuhn–Tucker conditions),它由 Kuhn 和 Tucker 于 1951 年给出,因此也称为 Kuhn-Tucker 条件,但由于 Karush 在 1939 年也类似地考虑了约束优化的最优性条件,所以我们今天称这一条件为 KKT 条件。它与拉格朗日于 18 世纪 60 年代提出的拉格朗日函数(用于求带等式约束的条件极值问题)有着密切的联系。下面的定理 24 给出了 KKT 条件。

定义 10:设 x∗∈X,d∈Rn\boldsymbol{x}^* \in X,\ \boldsymbol{d} \in R^nx∗∈X, d∈Rn,XXX 为可行域,如果存在序列 dk\boldsymbol{d}_kdk​ 和 αk&gt;0,k=1,2,⋯\alpha_k &gt; 0,k=1,2,\cdotsαk​>0,k=1,2,⋯ 使得

x∗+αkdk∈X,∀klim⁡n→∞dk=d,lim⁡n→∞αk=0\boldsymbol{x}^* + \alpha_k \boldsymbol{d}_k \in X,\ \forall k \\ \ \\ \lim_{n \rightarrow \infty} \boldsymbol{d}_k = \boldsymbol{d},\ \lim_{n \rightarrow \infty} \alpha_k = 0x∗+αk​dk​∈X, ∀k n→∞lim​dk​=d, n→∞lim​αk​=0 则称 d\boldsymbol{d}d 是 XXX 在 x∗\boldsymbol{x}^*x∗ 处的序列可行方向(sequence feasible direction, SFD)。

定义 11:设 x∗∈X,d∈Rn\boldsymbol{x}^* \in X,\ \boldsymbol{d} \in R^nx∗∈X, d∈Rn,XXX 为可行域,如果
dT∇ci(x∗)=0,i∈EdT∇ci(x∗)≥0,i∈I(x∗)\boldsymbol{d}^T \nabla c_i \left(\boldsymbol{x}^* \right ) = 0,\ i \in E\\ \ \\ \boldsymbol{d}^T \nabla c_i \left(\boldsymbol{x}^* \right ) \geq 0,\ i \in I \left(\boldsymbol{x}^* \right )dT∇ci​(x∗)=0, i∈E dT∇ci​(x∗)≥0, i∈I(x∗)则称 d\boldsymbol{d}d 是 XXX 在 x∗\boldsymbol{x}^*x∗ 处的线性化可行方向(linearized feasible directions, LFD)。

定理 24:如果 x∗\boldsymbol{x}^*x∗ 是约束优化问题

min⁡f(x)s.t.ci(x)=0,i∈Eci(x)≥0,i∈I\begin{aligned} &amp;\min \ f\left ( \boldsymbol{x} \right ) \\ &amp;\ \mathrm{s.t.} \ \ c_i\left(\boldsymbol{x}\right) = 0, i \in E \\ &amp;\qquad \ c_i\left(\boldsymbol{x}\right) \geq 0, i \in I \end{aligned}​min f(x) s.t.  ci​(x)=0,i∈E ci​(x)≥0,i∈I​的局部极小点,且可行域 XXX 在 x∗\boldsymbol{x}^*x∗ 处的序列化可行方向构成的集合 SFD(x∗,X)SFD \left(\boldsymbol{x}^*,X \right )SFD(x∗,X) 与其在 x∗\boldsymbol{x}^*x∗ 处的线性化可行方向构成的集合 LFD(x∗,X)LFD \left(\boldsymbol{x}^*,X \right )LFD(x∗,X) 相等,即约束优化问题满足约束规范条件/正则性条件(constraint qualifications / regularity conditions)
SFD(x∗,X)=LFD(x∗,X)SFD \left(\boldsymbol{x}^*,X \right ) = LFD \left(\boldsymbol{x}^*,X \right )SFD(x∗,X)=LFD(x∗,X)那么必存在 λi∗,i∈E∪I\lambda_i^*,i \in E \cup Iλi∗​,i∈E∪I 使得

∇f(x∗)−∑i∈E∪Iλi∗∇ci(x∗)=0λi∗≥0,λi∗ci(x∗)=0,i∈I\nabla f \left(\boldsymbol{x}^* \right ) - \sum_{i \in E \cup I}\lambda_i^*\nabla c_i \left(\boldsymbol{x}^* \right ) = \boldsymbol{0} \\ \ \\ \lambda_i^* \geq 0,\ \lambda_i^* c_i \left(\boldsymbol{x}^* \right ) = 0,\ i \in I∇f(x∗)−i∈E∪I∑​λi∗​∇ci​(x∗)=0 λi∗​≥0, λi∗​ci​(x∗)=0, i∈I

由于上述约束规范条件 SFD(x∗,X)=LFD(x∗,X)SFD \left(\boldsymbol{x}^*,X \right ) = LFD \left(\boldsymbol{x}^*,X \right )SFD(x∗,X)=LFD(x∗,X) 不易验证,人们给出了更强的、相对而言更容易验证的约束规范条件。常见的有(注:按条件由弱到强的顺序依次列出):

  • Mangasarian-Fromovitz 约束条件(Mangasarian-Fromovitz constraint qualification, MFCQ)

    ∑i∈Eki∇ci(x∗)=0⇒ki=0,∀i∈E∃d,s.t.dT∇ci(x∗)=0,∀i∈E;dT∇ci(x∗)&gt;0,∀i∈I(x∗)\sum_{i \in E}k_i\nabla c_i \left(\boldsymbol{x}^* \right ) = \boldsymbol{0} \Rightarrow k_i = 0,\forall i \in E \\ \exists \boldsymbol{d},\ s.t.\ \boldsymbol{d}^T \nabla c_i \left(\boldsymbol{x}^* \right ) = 0,\forall i \in E;\ \boldsymbol{d}^T \nabla c_i \left(\boldsymbol{x}^* \right ) &gt; 0,\forall i \in I \left(\boldsymbol{x}^* \right )i∈E∑​ki​∇ci​(x∗)=0⇒ki​=0,∀i∈E∃d, s.t. dT∇ci​(x∗)=0,∀i∈E; dT∇ci​(x∗)>0,∀i∈I(x∗)

  • 线性无关约束条件(linear independence constraint qualification, LICQ)

    ∑i∈E∪I(x∗)ki∇ci(x∗)=0⇒ki=0,∀i∈E∪I(x∗)\sum_{i \in E \cup I \left(\boldsymbol{x}^* \right )}k_i\nabla c_i \left(\boldsymbol{x}^* \right ) = \boldsymbol{0} \Rightarrow k_i = 0,\forall i \in E \cup I \left(\boldsymbol{x}^* \right )i∈E∪I(x∗)∑​ki​∇ci​(x∗)=0⇒ki​=0,∀i∈E∪I(x∗)

  • 线性约束条件(linearity constraint qualification, LCQ):ci(x)c_i \left(\boldsymbol{x} \right )ci​(x) 为仿射函数(最高次数为 1 的多项式函数,当常数项为零退化为线性函数)

这里 I(x∗)≜{i:ci(x∗)=0,i∈I}I \left(\boldsymbol{x}^* \right ) \triangleq \left \{ i:c_i \left(\boldsymbol{x}^* \right ) = 0,i \in I \right \}I(x∗)≜{i:ci​(x∗)=0,i∈I},它是对局部极值点 x∗\boldsymbol{x}^*x∗ 的有效不等式约束所对应的指标集。我们称有效约束(积极约束)对应的指标集集合为积极集合/有效集合(active set),可以看到:上述的约束规范条件/正则性条件 MFCQ 和 LICQ 均是针对积极集合而言的。

为什么 ci(x∗)=0,i∈Ic_i \left(\boldsymbol{x}^* \right ) = 0,i \in Ici​(x∗)=0,i∈I 对应的不等式约束 ci(x)≥0c_i \left(\boldsymbol{x} \right ) \geq 0ci​(x)≥0 是对局部极值点 x∗\boldsymbol{x}^*x∗ 的有效不等式约束呢?如果对某个不等式约束 ci(x)≥0c_i\left(\boldsymbol{x} \right ) \geq 0ci​(x)≥0 有 ci(x∗)&gt;0c_i \left(\boldsymbol{x}^* \right ) &gt; 0ci​(x∗)>0,那么这个不等式约束对于局部极小点 x∗\boldsymbol{x}^*x∗ 而言是非必须的。这是因为在这种情况下,由于 x∗\boldsymbol{x}^*x∗ 不在不等式约束对应的边界 ci(x)=0c_i\left(\boldsymbol{x} \right ) = 0ci​(x)=0 上,因此总可以找到与该边界不相交且位于可行域(包含该不等式约束)内的 x∗\boldsymbol{x}^*x∗ 的邻域,在这个邻域内 fff 在 x∗\boldsymbol{x}^*x∗ 处取到最小值。此时不管我们加不加上这个不等式约束,这个邻域均在可行域范围内,即不管有没有这个不等式约束 x∗\boldsymbol{x}^*x∗ 均是 fff 的局部极小点。相反,如果 x∗\boldsymbol{x}^*x∗ 在不等式约束对应的边界 ci(x)=0c_i\left(\boldsymbol{x} \right ) = 0ci​(x)=0 上,那么 x∗\boldsymbol{x}^*x∗ 的任意邻域与该边界相交且必有位于可行域(包含该不等式约束)外的部分,此时 x∗\boldsymbol{x}^*x∗ 只是 fff 在 x∗\boldsymbol{x}^*x∗ 任意足够小的邻域的一部分上的最小值点,如果去掉该不等式约束,扩大可行域范围,则一定可以找到一个 x∗\boldsymbol{x}^*x∗ 的足够小的邻域,它没有位于新可行域外的部分,由于邻域一部分上的最小值点不一定是邻域上的最小值点,因此 x∗\boldsymbol{x}^*x∗ 将有可能不再是 fff 的局部极小点。

KKT 条件的证明需要用到 Farkas 引理以及另一个约束优化一阶必要条件,它与无约束优化的一阶必要条件十分类似,下面的定理 25 给出了这一一阶必要条件。

定理 25:如果 x∗\boldsymbol{x}^*x∗ 是约束优化问题

min⁡f(x)s.t.ci(x)=0,i∈Eci(x)≥0,i∈I\begin{aligned} &amp;\min \ f\left ( \boldsymbol{x} \right ) \\ &amp;\ \mathrm{s.t.} \ \ c_i\left(\boldsymbol{x}\right) = 0, i \in E \\ &amp;\qquad \ c_i\left(\boldsymbol{x}\right) \geq 0, i \in I \end{aligned}​min f(x) s.t.  ci​(x)=0,i∈E ci​(x)≥0,i∈I​的局部极小点且 f(x)f \left(\boldsymbol{x} \right )f(x) 和 ci(x)c_i \left(\boldsymbol{x} \right )ci​(x) 在 x∗\boldsymbol{x}^*x∗ 处均可微,则对可行域 XXX 在 x∗\boldsymbol{x}^*x∗ 处的所有序列化可行方向 d\boldsymbol{d}d,fff 在 x∗\boldsymbol{x}^*x∗ 处关于这些方向的方向导数非负,即

dT∇f(x∗)≥0,∀d∈SFD(x∗,X)\boldsymbol{d}^T \nabla f \left(\boldsymbol{x}^* \right ) \geq 0,\ \forall \boldsymbol{d} \in SFD \left(\boldsymbol{x}^*,X \right )dT∇f(x∗)≥0, ∀d∈SFD(x∗,X)

对上述定理做一点微调,便得到了如下的约束优化的一阶充分条件

定理 26:如果 f(x)f \left(\boldsymbol{x} \right )f(x) 和 ci(x)c_i \left(\boldsymbol{x} \right )ci​(x) 在 x∗\boldsymbol{x}^*x∗ 处均可微,x∗∈X\boldsymbol{x}^* \in Xx∗∈X 且对可行域 XXX 在 x∗\boldsymbol{x}^*x∗ 处的所有序列化可行非零方向 d≠0\boldsymbol{d} \neq 0d̸​=0,都有 fff 在 x∗\boldsymbol{x}^*x∗ 处关于这些方向的方向导数大于 0,即

dT∇f(x∗)&gt;0,∀d≠0∈SFD(x∗,X)\boldsymbol{d}^T \nabla f \left(\boldsymbol{x}^* \right ) &gt; 0,\ \forall \boldsymbol{d} \neq 0 \in SFD \left(\boldsymbol{x}^*,X \right )dT∇f(x∗)>0, ∀d̸​=0∈SFD(x∗,X)
那么 x∗\boldsymbol{x}^*x∗ 是约束优化问题

min⁡f(x)s.t.ci(x)=0,i∈Eci(x)≥0,i∈I\begin{aligned} &amp;\min \ f\left ( \boldsymbol{x} \right ) \\ &amp;\ \mathrm{s.t.} \ \ c_i\left(\boldsymbol{x}\right) = 0, i \in E \\ &amp;\qquad \ c_i\left(\boldsymbol{x}\right) \geq 0, i \in I \end{aligned}​min f(x) s.t.  ci​(x)=0,i∈E ci​(x)≥0,i∈I​
的局部极小点。

如果 x∗\boldsymbol{x}^*x∗ 不满足定理 26 给出的一阶充分条件但满足定理 25 给出的一阶必要条件,即

dT∇f(x∗)≥0,∀d∈SFD(x∗,X)\boldsymbol{d}^T \nabla f \left(\boldsymbol{x}^* \right ) \geq 0,\ \forall \boldsymbol{d} \in SFD \left(\boldsymbol{x}^*,X \right )dT∇f(x∗)≥0, ∀d∈SFD(x∗,X)
dT∇f(x∗)=0,∃d≠0∈SFD(x∗,X)\boldsymbol{d}^T \nabla f \left(\boldsymbol{x}^* \right ) = 0,\ \exists \boldsymbol{d} \neq 0 \in SFD \left(\boldsymbol{x}^*,X \right )dT∇f(x∗)=0, ∃d̸​=0∈SFD(x∗,X)

那我们就无法根据一阶条件判断 x∗\boldsymbol{x}^*x∗ 是否为 fff 的局部极小点,此时就需要借助于二阶条件。

在阐述约束优化最优性条件中的二阶必要条件和二阶充分条件前,我们先给出线性化零约束方向与序列零约束方向的定义。它们是增加了限制条件后的线性化可行方向与序列可行方向,这个限制条件与 KKT 条件有关。事实上,我们将要阐述的二阶条件除了要求 x∗\boldsymbol{x}^*x∗ 不满足定理 26 给出的一阶充分条件但满足定理 25 给出的一阶必要条件外,还要求 x∗\boldsymbol{x}^*x∗ 满足约束规范条件/正则性条件,而这意味着 x∗\boldsymbol{x}^*x∗ 满足 KKT 条件,由 SFD(x∗,X)⊆LFD(x∗,X)SFD \left(\boldsymbol{x}^*,X \right ) \subseteq LFD \left(\boldsymbol{x}^*,X \right )SFD(x∗,X)⊆LFD(x∗,X) 和

dT∇f(x∗)=0,∃d≠0∈SFD(x∗,X)\boldsymbol{d}^T \nabla f \left(\boldsymbol{x}^* \right ) = 0,\ \exists \boldsymbol{d} \neq 0 \in SFD \left(\boldsymbol{x}^*,X \right )dT∇f(x∗)=0, ∃d̸​=0∈SFD(x∗,X)

我们可以得到 KKT 条件

∇f(x∗)=∑i∈E∪Iλi∗∇ci(x∗)\nabla f \left(\boldsymbol{x}^* \right ) = \sum_{i \in E \cup I}\lambda_i^*\nabla c_i \left(\boldsymbol{x}^* \right )∇f(x∗)=i∈E∪I∑​λi∗​∇ci​(x∗)

等价于

λi∗dT∇ci(x∗)=0,i∈I(x∗)\lambda_i^* \boldsymbol{d}^T \nabla c_i \left(\boldsymbol{x}^* \right ) = 0,\ i \in I \left(\boldsymbol{x}^* \right )λi∗​dT∇ci​(x∗)=0, i∈I(x∗)

而这就是在定义线性化零约束方向时,在线性化可行方向基础上加上的限制条件。

定义 12:设 x∗∈X\boldsymbol{x}^* \in Xx∗∈X 满足 KKT 条件, λi∗\lambda_i^*λi∗​ 为相应的 Lagrange 乘子,d∈Rn\boldsymbol{d} \in R^nd∈Rn,XXX 为可行域。如果
dT∇ci(x∗)=0,i∈EdT∇ci(x∗)≥0,i∈I(x∗)λi∗dT∇ci(x∗)=0,i∈I(x∗)\boldsymbol{d}^T \nabla c_i \left(\boldsymbol{x}^* \right ) = 0,\ i \in E \\ \ \\ \boldsymbol{d}^T \nabla c_i \left(\boldsymbol{x}^* \right ) \geq 0,\ i \in I \left(\boldsymbol{x}^* \right ) \\ \ \\ \lambda_i^* \boldsymbol{d}^T \nabla c_i \left(\boldsymbol{x}^* \right ) = 0,\ i \in I \left(\boldsymbol{x}^* \right )dT∇ci​(x∗)=0, i∈E dT∇ci​(x∗)≥0, i∈I(x∗) λi∗​dT∇ci​(x∗)=0, i∈I(x∗)
则称 d\boldsymbol{d}d 是 XXX 在 x∗\boldsymbol{x}^*x∗ 处的线性化零约束方向,记作 d∈G(x∗,λ∗)\boldsymbol{d} \in G \left(\boldsymbol{x}^*,\boldsymbol{\lambda}^* \right )d∈G(x∗,λ∗)。

定义 13:设 x∗∈X\boldsymbol{x}^* \in Xx∗∈X 满足 KKT 条件, λi∗\lambda_i^*λi∗​ 为相应的 Lagrange 乘子,d∈Rn\boldsymbol{d} \in R^nd∈Rn,XXX 为可行域。如果存在序列 dk,k=1,2,⋯\boldsymbol{d}_k,k=1,2,\cdotsdk​,k=1,2,⋯ 和 αk&gt;0,k=1,2,⋯\alpha_k &gt; 0,k=1,2,\cdotsαk​>0,k=1,2,⋯ 使得
x∗+αkdk∈X,∀k∑i∈E∪Iλi∗∇ci(x∗+αkdk)=0lim⁡n→∞dk=d,lim⁡n→∞αk=0\boldsymbol{x}^* + \alpha_k \boldsymbol{d}_k \in X,\ \forall k \\ \ \\ \sum_{i \in E \cup I } \lambda_i^* \nabla c_i \left(\boldsymbol{x}^* + \alpha_k \boldsymbol{d}_k \right ) = 0 \\ \ \\ \lim_{n \rightarrow \infty} \boldsymbol{d}_k = \boldsymbol{d},\ \lim_{n \rightarrow \infty} \alpha_k = 0x∗+αk​dk​∈X, ∀k i∈E∪I∑​λi∗​∇ci​(x∗+αk​dk​)=0 n→∞lim​dk​=d, n→∞lim​αk​=0
则称 d\boldsymbol{d}d 是 XXX 在 x∗\boldsymbol{x}^*x∗ 处的序列零约束方向,记作 d∈S(x∗,λ∗)\boldsymbol{d} \in S \left(\boldsymbol{x}^*,\boldsymbol{\lambda}^* \right )d∈S(x∗,λ∗)。

可以证明:S(x∗,λ∗)⊆G(x∗,λ∗)S \left(\boldsymbol{x}^*,\boldsymbol{\lambda}^* \right ) \subseteq G \left(\boldsymbol{x}^*,\boldsymbol{\lambda}^* \right )S(x∗,λ∗)⊆G(x∗,λ∗)。下面给出约束优化最优性条件中的二阶必要条件和二阶充分条件,它们与无约束优化最优性条件中的二阶必要条件和二阶充分条件十分相似。

定理 27:如果 x∗\boldsymbol{x}^*x∗ 是约束优化问题
min⁡f(x)s.t.ci(x)=0,i∈Eci(x)≥0,i∈I\begin{aligned} &amp;\min \ f\left ( \boldsymbol{x} \right ) \\ &amp;\ \mathrm{s.t.} \ \ c_i\left(\boldsymbol{x}\right) = 0, i \in E \\ &amp;\qquad \ c_i\left(\boldsymbol{x}\right) \geq 0, i \in I \end{aligned}​min f(x) s.t.  ci​(x)=0,i∈E ci​(x)≥0,i∈I​的局部极小点且 λi∗\lambda_i^*λi∗​ 为 Lagrange 函数
L(x;λ)≜f(x)−∑i∈E∪Iλi∗ci(x)L \left(\boldsymbol{x; \boldsymbol{\lambda}} \right ) \triangleq f \left(\boldsymbol{x} \right ) - \sum_{i \in E \cup I}\lambda_i^* c_i \left(\boldsymbol{x} \right )L(x;λ)≜f(x)−i∈E∪I∑​λi∗​ci​(x)中相应的 Lagrange 乘子,那么该 Lagrange 函数关于序列零约束方向的二阶方向导数非负,即

dTHL(x∗;λ)d≥0,∀d∈S(x∗,λ∗)\boldsymbol{d}^T \boldsymbol{H}_L \left(\boldsymbol{x}^*;\boldsymbol{\lambda} \right ) \boldsymbol{d} \geq 0,\ \forall \boldsymbol{d} \in S \left(\boldsymbol{x}^*,\boldsymbol{\lambda}^* \right )dTHL​(x∗;λ)d≥0, ∀d∈S(x∗,λ∗)

定理 28:如果 x∗\boldsymbol{x}^*x∗ 满足 KKT 条件, λi∗\lambda_i^*λi∗​ 为 Lagrange 函数
L(x;λ)≜f(x)−∑i∈E∪Iλi∗ci(x)L \left(\boldsymbol{x; \boldsymbol{\lambda}} \right ) \triangleq f \left(\boldsymbol{x} \right ) - \sum_{i \in E \cup I}\lambda_i^* c_i \left(\boldsymbol{x} \right )L(x;λ)≜f(x)−i∈E∪I∑​λi∗​ci​(x)中相应的 Lagrange 乘子,且该 Lagrange 函数关于线性零约束方向的二阶方向导数大于 0,即
dTHL(x∗;λ)d&gt;0,∀d≠0∈G(x∗,λ∗)\boldsymbol{d}^T \boldsymbol{H}_L \left(\boldsymbol{x}^*;\boldsymbol{\lambda} \right ) \boldsymbol{d} &gt; 0,\ \forall \boldsymbol{d} \neq 0 \in G \left(\boldsymbol{x}^*,\boldsymbol{\lambda}^* \right )dTHL​(x∗;λ)d>0, ∀d̸​=0∈G(x∗,λ∗)那么 x∗\boldsymbol{x}^*x∗ 是约束优化问题
min⁡f(x)s.t.ci(x)=0,i∈Eci(x)≥0,i∈I\begin{aligned} &amp;\min \ f\left ( \boldsymbol{x} \right ) \\ &amp;\ \mathrm{s.t.} \ \ c_i\left(\boldsymbol{x}\right) = 0, i \in E \\ &amp;\qquad \ c_i\left(\boldsymbol{x}\right) \geq 0, i \in I \end{aligned}​min f(x) s.t.  ci​(x)=0,i∈E ci​(x)≥0,i∈I​的局部严格极小点。

如果二阶必要性条件满足而二阶充分性条件不满足,则我们还需要借助更高阶的最优性条件来判断一个满足 KKT 条件的点是否为局部极小点。

1.5 最优化算法的基本结构

最优化算法通常采用迭代方法得到最优解,其基本思想是:从一个初始点 x0\boldsymbol{x}_0x0​ 开始,按照某一迭代规则产生点列 {xk}\left \{ \boldsymbol{x}_k \right \}{xk​},当 {xk}\left \{ \boldsymbol{x}_k \right \}{xk​} 是有穷点列时,其最后一点是最优解,当 {xk}\left \{ \boldsymbol{x}_k \right \}{xk​} 是无穷点列时,其极限点是最优解。一个好的最优化算法应该具备的典型特征是:迭代点列 {xk}\left \{ \boldsymbol{x}_k \right \}{xk​} 能稳定地接近局部极小点 x∗\boldsymbol{x}^*x∗ 的邻域,然后迅速收敛于 x∗\boldsymbol{x}^*x∗。最优化算法的基本步骤如下:

  • 给定初始点 x0\boldsymbol{x}_0x0​
  • 按照一定规则确定搜索方向 dk\boldsymbol{d}_kdk​ 和步长因子 αk\alpha_kαk​
  • 令 xk+1=xk+αkdk\boldsymbol{x}_{k+1} = \boldsymbol{x}_k + \alpha_k \boldsymbol{d}_kxk+1​=xk​+αk​dk​
  • 对 k=0,1,2,⋯k = 0,1,2,\cdotsk=0,1,2,⋯ 重复上述两步直到满足某种终止条件,此时 xk+1\boldsymbol{x}_{k+1}xk+1​ 即为近似最优解

大多数最优化算法是从函数的二阶近似模型导出的,因为一般函数在极小点附近常可用二次函数很好地近似。当算法应用于二次函数,只要经过有限步迭代就能达到函数的极小点时,我们称该算法具有二次终止性。一般而言,具有二次终止性的算法可望在接近极小点时具有很好的收敛性质

收敛速度是衡量最优化算法有效性的重要指标,下面给出收敛速度的定义:

若存在 α&gt;0\alpha &gt; 0α>0 和 q&gt;0q &gt; 0q>0 使得

lim⁡k→∞∥xk+1−x∗∥∥xk−x∗∥α=q\lim_{k \rightarrow \infty} \frac{\left \| \boldsymbol{x}_{k+1} - \boldsymbol{x}^* \right \|}{\left \| \boldsymbol{x}_{k} - \boldsymbol{x}^* \right \|^\alpha} = qk→∞lim​∥xk​−x∗∥α∥xk+1​−x∗∥​=q
则我们称算法具有 α\alphaα 阶收敛速度,特别地:当 α=1\alpha = 1α=1 时,称算法具有线性收敛速度;当 1&lt;α&lt;21 &lt; \alpha &lt; 21<α<2 时,称算法具有超线性收敛速度;当 α=2\alpha = 2α=2 时,称算法具有二阶收敛速度。

一般认为:具有超线性收敛速度和二阶收敛速度的算法是比较快速的。但需要特别指出的是:对任何一个算法,收敛性和收敛速度的理论结果并不保证算法在实际执行时一定有好的实际效果,这是因为

  • 收敛性和收敛速度均是针对极限而言的,其结果本身并不能保证算法一定有好的实际效果
  • 为了得到收敛性和收敛速度的理论结果,通常对函数作了某些不易验证的限制,实际中需要优化的函数可能并不满足这些限制条件
  • 实际计算过程中存在舍入误差

因此一个最优化算法的开发,仅仅从理论上论证其收敛性和收敛速度是不够的,还需要配合数值测试。

迭代终止条件是最优化算法的重要组成部分,如果算法具有超线性收敛速度,则可以证明

lim⁡k→∞∥xk+1−xk∥∥xk−x∗∥=1\lim_{k\rightarrow \infty} \frac{\left \| \boldsymbol{x}_{k+1} - \boldsymbol{x}_{k} \right \|}{\left \| \boldsymbol{x}_{k} - \boldsymbol{x}^* \right \|} = 1k→∞lim​∥xk​−x∗∥∥xk+1​−xk​∥​=1

这表明当算法具有超线性收敛速度时,∥xk+1−xk∥\left \| \boldsymbol{x}_{k+1} - \boldsymbol{x}_{k} \right \|∥xk+1​−xk​∥ 是误差 ∥xk−x∗∥\left \| \boldsymbol{x}_{k} - \boldsymbol{x}^* \right \|∥xk​−x∗∥ 的一个合理估计,因此当算法有较快收敛速度时,我们可以将

∥xk+1−xk∥≤ε\left \| \boldsymbol{x}_{k+1} - \boldsymbol{x}_{k} \right \| \leq \varepsilon∥xk+1​−xk​∥≤ε

作为算法的终止条件,类似的终止条件还有

∣f(xk+1)−f(xk)∣≤ε\left |f \left(\boldsymbol{x}_{k+1} \right ) - f \left(\boldsymbol{x}_{k} \right )\right | \leq \varepsilon∣f(xk+1​)−f(xk​)∣≤ε

然而,有些时候,当 ∥xk+1−xk∥\left \| \boldsymbol{x}_{k+1} - \boldsymbol{x}_{k} \right \|∥xk+1​−xk​∥ 足够小时,∣f(xk+1)−f(xk)∣\left |f \left(\boldsymbol{x}_{k+1} \right ) - f \left(\boldsymbol{x}_{k} \right )\right |∣f(xk+1​)−f(xk​)∣ 并不小,或者当 ∣f(xk+1)−f(xk)∣\left |f \left(\boldsymbol{x}_{k+1} \right ) - f \left(\boldsymbol{x}_{k} \right )\right |∣f(xk+1​)−f(xk​)∣ 足够小时,∥xk+1−xk∥\left \| \boldsymbol{x}_{k+1} - \boldsymbol{x}_{k} \right \|∥xk+1​−xk​∥ 并不小,此时单独使用这两个终止条件中的一个是不合理的。Himmeblau 指出:同时使用上述两个终止条件是合适的,注意到量的关系,Himmeblau 提出了如下终止条件:

  • ∥xk∥&gt;ε2\left \|\boldsymbol{x}_k \right \| &gt; \varepsilon_2∥xk​∥>ε2​ 且 ∥f(xk)∥&gt;ε2\left \|f \left(\boldsymbol{x}_k \right ) \right \| &gt; \varepsilon_2∥f(xk​)∥>ε2​ 时

∥xk+1−xk∥∥xk∥≤ε1or∣f(xk+1)−f(xk)∣∣f(xk)∣≤ε1\frac{\left \| \boldsymbol{x}_{k+1} - \boldsymbol{x}_{k} \right \|}{\left \| \boldsymbol{x}_{k} \right \|} \leq \varepsilon_1\ or \ \frac{\left |f \left(\boldsymbol{x}_{k+1} \right ) - f \left(\boldsymbol{x}_{k} \right )\right |}{\left |f \left(\boldsymbol{x}_{k} \right )\right |} \leq \varepsilon_1∥xk​∥∥xk+1​−xk​∥​≤ε1​ or ∣f(xk​)∣∣f(xk+1​)−f(xk​)∣​≤ε1​

  • ∥xk∥≤ε2\left \|\boldsymbol{x}_k \right \| \leq \varepsilon_2∥xk​∥≤ε2​ 或 ∥f(xk)∥≤ε2\left \|f \left(\boldsymbol{x}_k \right ) \right \| \leq \varepsilon_2∥f(xk​)∥≤ε2​ 时

∥xk+1−xk∥≤ε1or∣f(xk+1)−f(xk)∣≤ε1\left \| \boldsymbol{x}_{k+1} - \boldsymbol{x}_{k} \right \| \leq \varepsilon_1\ or \ \left |f \left(\boldsymbol{x}_{k+1} \right ) - f \left(\boldsymbol{x}_{k} \right )\right | \leq \varepsilon_1∥xk+1​−xk​∥≤ε1​ or ∣f(xk+1​)−f(xk​)∣≤ε1​

对于有一阶导数信息且收敛不太快的算法,可采用如下终止条件:

∥∇f(xk)∥≤ε3\left \| \nabla f \left(\boldsymbol{x}_k \right ) \right \| \leq \varepsilon_3∥∇f(xk​)∥≤ε3​

但由于可能遇到鞍点,单独使用这个终止条件并不合适。Himmeblau 建议可将其与上面的终止条件结合起来使用,即使用终止条件:

  • ∥xk∥&gt;ε2\left \|\boldsymbol{x}_k \right \| &gt; \varepsilon_2∥xk​∥>ε2​ 且 ∥f(xk)∥&gt;ε2\left \|f \left(\boldsymbol{x}_k \right ) \right \| &gt; \varepsilon_2∥f(xk​)∥>ε2​ 时

∥xk+1−xk∥∥xk∥≤ε1or∣f(xk+1)−f(xk)∣∣f(xk)∣≤ε1or∥∇f(xk)∥≤ε3\frac{\left \| \boldsymbol{x}_{k+1} - \boldsymbol{x}_{k} \right \|}{\left \| \boldsymbol{x}_{k} \right \|} \leq \varepsilon_1\ or \ \frac{\left |f \left(\boldsymbol{x}_{k+1} \right ) - f \left(\boldsymbol{x}_{k} \right )\right |}{\left |f \left(\boldsymbol{x}_{k} \right )\right |} \leq \varepsilon_1\ or\ \left \| \nabla f \left(\boldsymbol{x}_k \right ) \right \| \leq \varepsilon_3∥xk​∥∥xk+1​−xk​∥​≤ε1​ or ∣f(xk​)∣∣f(xk+1​)−f(xk​)∣​≤ε1​ or ∥∇f(xk​)∥≤ε3​

  • ∥xk∥≤ε2\left \|\boldsymbol{x}_k \right \| \leq \varepsilon_2∥xk​∥≤ε2​ 或 ∥f(xk)∥≤ε2\left \|f \left(\boldsymbol{x}_k \right ) \right \| \leq \varepsilon_2∥f(xk​)∥≤ε2​ 时

∥xk+1−xk∥≤ε1or∣f(xk+1)−f(xk)∣≤ε1or∥∇f(xk)∥≤ε3\left \| \boldsymbol{x}_{k+1} - \boldsymbol{x}_{k} \right \| \leq \varepsilon_1\ or \ \left |f \left(\boldsymbol{x}_{k+1} \right ) - f \left(\boldsymbol{x}_{k} \right )\right | \leq \varepsilon_1\ or \ \left \| \nabla f \left(\boldsymbol{x}_k \right ) \right \| \leq \varepsilon_3∥xk+1​−xk​∥≤ε1​ or ∣f(xk+1​)−f(xk​)∣≤ε1​ or ∥∇f(xk​)∥≤ε3​

一般地,我们取 ε1=ε2=10−5,ε3=10−4\varepsilon_1 = \varepsilon_2 = 10^{-5},\ \varepsilon_3 = 10^{-4}ε1​=ε2​=10−5, ε3​=10−4.

本章到这里就结束了,本章我们讲述了最优化理论中需要用到的线性代数、微积分和凸分析方面的知识,给出了无约束优化和约束优化的最优性条件,并在最后对最优化算法的基本结构作了阐述。下一章,我们将介绍作为多变量函数优化基础的线搜索(line search)技术,包括精确线搜索技术(分割方法、插值方法)和非精确线搜索技术(inexact line search technique),并给出这些方法的 Python 实现。接下来的第三、四、五章我们将介绍无约束优化问题的求解算法,第三章讨论一般的无约束优化问题,第四章讨论非线性最小二乘问题,第五章讨论基于非二次模型(齐次函数模型、张量模型、锥模型)的算法。

最优化算法(1):数学基础相关推荐

  1. 机器学习中的最优化算法总结

    https://www.toutiao.com/a6672189997212238348/ 导言 对于几乎所有机器学习算法,无论是有监督学习.无监督学习,还是强化学习,最后一般都归结为求解最优化问题. ...

  2. Dogleg“狗腿”最优化算法

    近期刚学习了dogleg狗腿最优化算法,老师给出了一个大体的框架并给出了一个练习,让我们用程序去实现它,鉴于本人刚刚开始接触最优化,对MATLAB语言的使用也很生疏,在网上查阅了大量的资料,一个通宵把 ...

  3. 最优化算法python实现篇(4)——无约束多维极值(梯度下降法)

    最优化算法python实现篇(4)--无约束多维极值(梯度下降法) 摘要 算法简介 注意事项 算法适用性 python实现 实例运行结果 算法过程可视化 摘要 本文介绍了多维无约束极值优化算法中的梯度 ...

  4. 最优化算法python实现篇(3)——无约束一维极值(黄金分割法)

    最优化算法python实现篇(3)--无约束一维极值(黄金分割法) 算法适用问题 python实现 示例运行结果 算法适用问题 搜索给定单峰区间的极值问题,一般对凸优化问题比较适用. python实现 ...

  5. 最优化算法python实现篇(2)—无约束一维极值(二分法)

    最优化算法python实现篇(2)--无约束一维极值(二分法) 算法适用问题 python实现 示例运行结果 算法适用问题 搜索给定单峰区间的极值问题,一般对凸优化问题比较适用. python实现 # ...

  6. NeurIPS 2018 | 腾讯AI Lab详解3大热点:模型压缩、机器学习及最优化算法

    导读:AI领域顶会NeurIPS正在加拿大蒙特利尔举办.本文针对实验室关注的几个研究热点,模型压缩.自动机器学习.机器学习与最优化算法,选取23篇会议上入选的重点论文进行分析解读,与大家分享.Enjo ...

  7. Renascence架构原理——最优化算法

    最优化算法 背景 通过公式生成ADF之后,根据下层函数库的配置,在结构不变的情形下,ADF是可以通过一系列值在0-1之间的参数进行调节的.也即ADF可表示为固定维数n的实数集,因此需要解决的问题就是在 ...

  8. 【算法设计与分析】07 算法的数学基础

    接下来的几篇文章将是学习算法的数学基础内容. 具体的文章包括(持续更新):

  9. c4.5算法python实现_算法:用Python实现—最优化算法

    今天给大家分享一下算法,用python来实现最优化算法.废话不多说,直接上代码: 一.二分法 函数详见rres,此代码使该算法运行了两次 def asdf(x): rres=8*x**3-2*x**2 ...

  10. Python最优化算法学习笔记(Gurobi)

    微信公众号:数学建模与人工智能 github地址:https://github.com/QInzhengk/Math-Model-and-Machine-Learning Python最优化算法学习笔 ...

最新文章

  1. 台积电2nm与3nm制程
  2. 中国移动如何开具并下载打印电子发票?
  3. 回溯法:批量作业调度
  4. 数据结构:静态查找动态查找
  5. 用scikit-learn研究局部线性嵌入(LLE)
  6. Java-变量函数 上
  7. IBM将推NVMe存储解决方案
  8. LeetCode 1277. 统计全为 1 的正方形子矩阵(DP)
  9. CentOS 7 上安装vim 解決 centos -bash: vim: command not found
  10. python判断字符串结尾-字符串#69301_27种Python字符串操作方法大全
  11. 超简单利用xposed框架破解钉钉打卡
  12. php redis type,redis中的几种常用基础对象介绍
  13. 解决logstash启动过慢的问题
  14. 一个根据相似度的去重方法
  15. JSK-5 矩阵翻转【入门】
  16. 网络安全实验---PGP 实现邮件加密和签名
  17. IDEA 2017 破解 license 激活
  18. 全国智慧园区解决方案TOP50 | 附下载
  19. 《指数基金投资指南》读书笔记
  20. VOIP技术连载之一 VOIP简介

热门文章

  1. 计算机电源大小,常见电脑主板和电源尺寸
  2. 2022数字化智慧工地助力建筑施工企业数字化转型
  3. 扫雷win10_室友玩扫雷通关,在我面前装逼?不存在!用Python开发自动扫雷,五秒通关!...
  4. termios结构体各成员
  5. Win7 ASP连接数据库“未找到提供程序.该程序可能未正确安装”问题
  6. EBSD测试常见的问题及解答(二)
  7. Tango学习笔记(1)
  8. iconfont图标
  9. 陈丹琦“简单到令人沮丧”的屠榜之作:关系抽取新SOTA!
  10. 可拖动组件 v-drag vue