1. 引言
求一个
阶非负矩阵(所有元素都是非负数),使得它的特征值是给定的
个常数
的问题称为非负逆特征值问题(简称
)。
在很多领域有广泛的应用,例如在博弈论,数值分析,数据分析,群论和经济学等领域中,详见( [1] - [20] )及其参考文献。1937年Kolmogorov [1] 提出逆特征值问题:一个复数
何时为某个非负矩阵的特征值的问题?后来,Suleimanova ( [2] )在1949年提出了更一般的非负逆特征值问题,并证明了当
中只有一个数大于0 (其他数小于等于0)时,
有解的充分必要条件是这些数的和大于0。此后,
有解的充分和必要条件一直是学者们研究的热点问题之一。一些学者研究了
有解的必要条件,取得了一些重要的研究成果。例如,Loewy和Johnson ( [3] )、Johnson ( [4] )建立了
有解的四个必要条件。1998年,Laffey和Meehan给出了奇数阶非负矩阵迹为零的必要条件。此外,一些学者对低阶的情形进行研究,1978年Loewy和Londow给出了
时,
有解的四个充分必要条件。此外,1996年Reams解决了
时非负矩阵迹为零的问题,1999年Laffey和Meehan解决了
时同样的问题(详见 [5] )。其他研究成果参考( [6] - [20] )及其参考文献。
本文主要关注求解
的有效算法。据我们所知,目前关于
的算法并不多,主要有梯度流下降算法,交替投影算法,非光滑牛顿法以及共轭梯度法。在 [21] 中,Chu和Guo将
转化为以下优化问题:
, (1.1)
其中
是以给定的
个常数为主对角元的
阶对角矩阵,“
”表示Hadamard积(详见 [21] )。他们提出了求解问题(1.1)的基于微分方程的梯度流下降算法,并通过一些应用说明了算法的有效性。文献 [22] 中,Orsi将
转化为含两个集合的可行性问题:
求
(1.2)
其中
是以给定的
个常数为特征值的
阶实对称矩阵集合,
是
阶非负矩阵的集合。在 [22] 中,Orsi给出了集合
上的投影算子的计算式,并提出了求解
(即问题(1.2))的交替投影算法(交替地在集合
和
上进行投影)。因为集合
不是凸集,所以问题(1.2)不是凸可行问题。关于非凸的可行性问题的交替投影算法的收敛性分析非常困难,收敛性结果也非常少。在 [22] 中,作者证明了当
,且迭代点充分接近
时,算法再经过一次迭代得到的
解,其中
是集合
的内点集。类似地假设条件也被用在 [23] 算法的分析中。此外,参考文献 [24] 和 [25] 研究了已知部分特征对的
问题的算法,即已知矩阵的部分特征值及其特征向量,求一个非负矩阵。这两篇文献分别通过将这类问题转化为欧氏空间和黎曼流形上的优化问题进行求解。 [24] 提出了求解该问题的非光滑牛顿法,并证明了算法的二阶收敛性; [25] 中提出求解该问题的黎曼流形上的共轭梯度法,并证明了算法的收敛性。
本文主要研究一类特殊的
问题的数值算法——对称随机逆特征值问题(简称
),即求解一个对称随机矩阵(行/列和为1的非负实对称矩阵),使得它的特征值是给定的
个常数。受 [22] 启发,我们将问题转化为含两个集合的可行性问题:
(1.3)
其中集合
的定义同问题(1.2),集合
是双随机矩阵集合(即行和、列和均为1的非负矩阵),并提出交替投影算法进行求解。在算法运行中,我们采用 [22] 中计算式计算集合
上投影
,而集合
上的投影
,我们采用同时投影的子迭代计算,详见算法3.2。正如我们在上面提到集合
不是凸集,所以问题(1.3)也是非凸可行性问题,凸可行问题的交替投影算法的收敛性分析方法不能用来分析算法的收敛性。注意到集合
没有内点,不满足 [22] 中的假设条件:
。所以这一假设条件不能用来分析求解问题(1.3) (即
)的交替投影算法的收敛性。注意到Lewis在( [26], Theorem 13)中研究了当两个集合在解的附近是光滑黎曼流形时(不一定是凸集),交替投影算法的收敛性,并建立了算法线性收敛性条件。结合集合
和
的特性以及对算法产生的迭代点列的分析(注意集合
并不是黎曼流形),用 [26] 中的结论建立了交替投影算法线性收敛的条件。
本文结构如下。第一节是预备知识,包括一些记号,概念和一些重要引理。论文的主要结果在第二节,我们提出求解
的交替投影算法,给出了一些集合上投影的计算式,并建立了算法线性收敛的条件。第三节的数值实验结果表明交替投影算法是有效的算法。最后是对本文的总结以及展望。
2. 预备知识
这一节介绍本文用到的一些记号,概念和重要引理。设
,
分别表示实数域上的
维向量,
阶方阵构成的欧氏空间。设
是
中子集,点
到集合
的距离和投影分别记为
和
,即
,
,
其中
表示
中的
范数。
下面介绍黎曼流形上一些概念和结论,关于黎曼流形更多的结果可以参考( [27] [28] [29] [30] )。设
为定义在
上的光滑函数,其中
是正整数。设
,函数
在点
处的Jacobi矩阵记为
。
定义2.1 设
是
中子集,
。我们称
在点
附近是光滑黎曼流形,如果存在光滑函数
和
的邻域
,使得
在
上是满射且以下式子成立:
.
设
在点
附近是光滑黎曼流形,
在点
处的切空间记为
。则有
,
其中
是
中内积,即
.
当
和
都是
中光滑子流形时,Lewis在 [26] 中证明了以下求这两个集合交点的交替投影算法的线性收敛性,它在我们后面算法收敛性分析中非常重要。需要指出的是,以下引理将( [26],Theorem 13)中的假设条件:
(2.1)
减弱为
(2.2)
(注意(2.1)
(2.2), 见 [30] ),这是仔细检查( [26],Theorem 13)的证明得到的(也见 [30] )。同时,由( [26],Theorem 13)的证明也有下面(2.3)成立。
引理2.1 ( [26],Theorem 13)设
,点
。设
和
在点
附近都是光滑黎曼流形,且满足(2.2)。设
是由以下交替投影法产生的点列,即
.
则存在
,使得当初始点
时,点列
满足
, (2.3)
且线性收敛到
中一点
,即存在
,
,使得
。
3. 交替投影算法及收敛性分
3.1. StIEP及投影的计算
设
是给定的
个实数。考虑对称随机逆特征值问题(
),即求一个
阶对称随机矩阵
,使得它的特征值是
。不失一般性,设
,并记对角阵
为
,即
在
中定义以下集合
,
和
如下:
,
其中
表示矩阵
的转置,
表示矩阵
的第
行第
列元素。下面我们先讨论集合
和
上投影算子
和
的计算。首先,我们有以下关于
的计算式。
引理3.1 ( [22],Theorem 3.2) 设实对称矩阵
的正交分解为
,其中
。则
。
下面讨论
,为此设向量
。考虑以下严格凸优化问题:
(3.1)
其中
表示
中的
范数。设
为问题(3.1)的唯一全局最优解,同时也是它的唯一KKT点。所以存在
,满足以下KKT条件:
其中
,
。为了方便运算,我们设向量的
分量满足
。
引理3.2 设向量
的分量满足
,则问题(3.1)的唯一最优解为:
(3.5)
其中对任意
,
,
,
使得
且
。
证明由
和
的定义,容易证明
(3.6)
且存在
,使得
,且
,令
(3.7)
(3.8)
下面验证
满足KKT条件(3.2)~(3.4)。首先,我们有
另外,由(3.6),显然有
。要证
,只需证明
。根据
的定义,有
。于是由(3.8)有:
下面证明
。类似地,由(3.6)和(3.7),显然有
,所以只需证明
。根据
的定义,有
。又
单调不减,我们有
所以
满足KKT条件(3.4)。又
所以(3.3)成立。令
则有
即
所以
满足KKT条件(3.2)。综上,
是问题(3.1)的KKT点,从而是问题(3.1)最优解。
注 3.1 如果向量
的分量不满足
,可以先将
的分量按从小到大顺序排列,记为向量
。设
是由(3.5)定义的向量,
是
按照分量所在位置还原后得到的向量。则
是问题(3.1)的唯一最优解。
结合引理3.2和注3.1,将矩阵
按行分块,即
,则
在集合
上的投影
有以下表达式,其中
是按注3.1中计算,即先将
的分量按从小到大排序得到
,再令
按(3.5)计算后,排回原来的位置得到。
引理 3.3 设
,且
按行分块为
,则
在集合
上的投影为
。
3.2. 交替投影算法及收敛性分析
显然
等价于可行性问题(1.3),即求
。我们提出以下求解
的交替投影算法。
交替投影算法3.1
交替投影算法1要计算两个集合
和
上的投影,其中
按引理3.1计算,而
用同时投影算法计算,具体见以下交替投影算法3.2和注3.2。
交替投影算法3.2
注 3.2 交替投影算法3.2给出了投影的计算式。由引理3.1,Step 4计算了
,即
。而算法的Steps 2-3用同时投影算法计算
。事实上,记
则
,且容易验证
。所以交替投影算法3.2的Steps 3-4实际上是子迭代:
(3.9)
直到满足精度要求
。因为集合
和
都是多面体,求解凸可行问题:求
的同时投影算法(3.9)是线性收敛的(见 [30],Corollary 3.14),所以交替投影算法2的Steps 2-3迭代的次数不多。
下面我们分析交替投影算法3.1的收敛性。因为集合
不是凸集,所以凸可行性问题的研究方法不能用来分析交替投影算法3.1的收敛性。我们将用 [22] 中的求两个黎曼子流形交点的交替投影算法的收敛性研究结果进行研究。因为集合
不是
的子流形。为此,我们定义集合
如下:
由集合
的定义,对任意
,存在点
的邻域
使得
.
由定义2.1容易验证以下结论。
引理 3.4
在任意点
附近是光滑黎曼流形。
关于集合
,由定义知对任意
,
是它的
个特征值,即
是关于
的
次方程
的
个根,其中
是
阶单位阵。由根与系数的关系以及集合
的定义有
,
其中
是定义在
上的多项式函数。设
,下面的讨论需要用到以下假设:
在点
附近是光滑黎曼流形,且满足
.(3.10)
下面仅对当
时,说明
在任意点
附近是光滑黎曼流形,而当
时,类似地可以知道很多情形下相同的结论也成立。事实上容易验证,
时
有解(即
)的充分必要条件是
,其中
,且解为
。而当
时,
。设
,
,并记
.
直接计算知
满秩,所以由定义2.1,
在点
附近是光滑黎曼流形。
考虑以下可行性问题:
. (3.11)
由引理2.1和引理3.4,有以下结论(其中
)。
引理 3.5 设
满足假设(3.10)。设
是由以下交替投影法产生的点列,即
. (3.12)
则存在
,使得当初始点
时,点列
满足
,且线性收敛到
中一点
。
关于交替投影算法3.1,我们有以下线性收敛的结论。
定理 3.1设
满足假设(3.10)。则当初始点
充分接近
时,交替投影算法3.1产生的点列
线性收敛到
中一点。
证明 设
是以
为初始点(即
),用交替投影算法(3.12)产生的点列。由引理3.5,存在
,使得当初始点
时,点列
满足
,且线性收敛到
中一点。所以,要证明定理的结论,只需证明当初始点
充分接近
时,算法3.1和算法(3.12)产生相同的点列,即
和
相同。设
到集合
的边界
的距离为
,则由
的定义知
。不妨设
(否则取更小的
即可)。因为
,所以对任意
,我们有
。注意到
和
,容易得到算法3.1和算法(3.12)产生相同的点列。证毕。
4. 数值实验
本节我们用交替投影算法3.2求解StIEP问题。在数值实验中,初始值
为随机产生的
阶矩阵,iter和time(s)分别表示算法的迭代次数和CPU运行时间(单位为秒)。在每次实验时,我们先随机生成
阶对称随机矩阵
,并求出矩阵
的
个特征值作为
。然后用交替投影算法3.2进行求解。算法采用
实现,实验结果如下。
例给定
阶矩阵的特征值为
.
用算法3.2求一个
阶对称双随机矩阵
,使其特征值为
。算法中的
和
分别取作
和
,实验结果为:
.
更高阶的数值实验结果见表1,其中
是矩阵的阶数,iter和time(s)是实验10次的平均迭代次数和时间。
Table 1. Experiments for different n
表1. 不同阶数的实验结果
5. 结论
对称随机逆特征值问题(
)是非负逆特征值问题(
)的一种特殊情形,通过将问题转化为可行性问题,本文提出的交替投影算法。因为该问题不是凸可行性问题,其收敛性分析非常困难。我们运用黎曼流形上可行性问题的线性收敛分析结果,在一定条件下建立算法的线性收敛性。未来我们将继续研究交替投影法求解其他
问题,同时进一步研究非凸可行性问题的交替投影算法的收敛性条件。
基金项目
本研究受国家自然科学基金项目(11661019)资助,在此表示感谢。
NOTES
*通讯作者。