1. 引言
非负逆特征值问题来源非常广泛,它主要来自于离散的数学物理反问题、系统参数识别、地震断层成像技术、主成分分析与勘测、结构分析、电路理论、机械系统模拟等许多应用领域,有着重要的应用背景 [1] - [6] 。这类问题提出来的几十年里,吸引了大量学者,取得到了重要研究成果。非负逆特征值问题可以分为以下两大类:1) 已知n个特征值
,求一个非负n阶非负矩阵1 (或者非负对称矩阵/
随机矩阵);2) 已知部分特征对
,其中
是特征值,
是其对应的特征向量,求一个n
阶非负矩阵(或者非负对称矩阵/随机矩阵)。关于这两类问题的研究主要包括两方面 [7] ,一方面是关于问题解的存在性;另一反面是求解这些问题的数值算法。例如,求解第一类问题的等光谱流动算法 [8] 以及交替投影算法 [9] 等。关于第二类问题的数值算法求解见文献 [10] [11] [12] ,其中文献 [10] 通过把非负逆特征值问题转化为优化问题,提出了非光滑牛顿法。在满足某种非退化的条件下,证明了算法是二阶收敛的。但该算法在求解子问题的计算量大,收敛的效率并不理想。
本文主要研究第二类非负逆特征值问题。通过把这一问题转化为凸可行性问题,提出了交替投影算法,并给出了投影的计算式。同时,我们证明了算法的(线性)收敛性。最后,通过数值例子比较了交替投影算法和非光滑牛顿法的收敛效率。数值实验结果表明,交替投影算法总能收敛到问题的解,而非光滑牛顿法在一些情形下不收敛。此外,非光滑牛顿法虽然在一定条件下二阶收敛,但是因为子问题计算量大,非光滑牛顿法的实际运算效率不如交替投影算法。
本文的结构如下。第二节是预备知识,包括一些相关的概念和记号。文章的主要结果在第三节,我们提出求解非负逆特征问题的交替投影算法,并证明了算法的线性收敛性。第四节是数值实验及与非光滑牛顿法的比较。
2. 预备知识
这节主要介绍矩阵分析中的一些符号,概念和结论,参考 [13] [14] [15] 。设
和
分别表示n维实向量空间和复向量空间,
和
分别表示
阶实矩阵空间和
阶复矩阵空间。矩阵
的
转置,共轭转置,迹分别记为
,
,
,其中
。在
中,定义内积
如下:
其诱导Frobenius模记为
,即
设矩阵
。如果矩阵
满足以下四个方程:
则称矩阵X为矩阵A的广义逆矩阵,记作
。
假设
为
中非空子集。设
,点X到集合S上的距离和投影分别记为
即
和
如果任意两点
,都有
则称S为
中的凸集。设
,我们称集合
为
中的半空间,几个半空间的交称为
中的多面体,容易验证半空间和多面体都是凸集。
3. 非负逆特征值问题及交替投影算法
本文主要研究以下非负逆特征值问题(下面简记为NIEP)。已知p个特征对
是A的p
个特征对,其中
,
是特征值
对应的特征向量,求一个非负矩阵A。为此我们先引进一些记号。不失一般性,我们不妨假设前2s个是共轭特征对,其余是实特征对,即对任意
,
其中
。记
和
其中
。则NIEP是求一个非负矩阵
,使得
(1)
设
(2)
(
是全体n阶非负矩阵的集合)。容易验证
都是多面体,从而是凸集.则NIEP可以转化为以下凸可行性问题:
求矩阵
,使得
。 (3)
通过把NIEP转化为问题(3),我们用以下交替投影算法求解NIEP。关于交替投影算法的其他应用和研究结果可见参考文献 [16] 。
算法3.1 (交替投影算法)
Step 0 给定初始矩阵
,
,令
。
Step 1令
。
Step 2 若
,算法终止;否则,进入下一步。
Step 3 令
,转Step 1。
下面分别给出
和
的计算式。由定义容易验证,对任意
,有
,其中
为得到
的计算式,我们引用以下结论,见 [10] 。
引理3.1设
,其中
为正整数。则集合
非空的充分必要条件是
满足
。并且当C非空时有
引理3.2设集合
由(2)定义,则
非空的充分必要条件是
。并且当
非空时有
证:由定义有
,其中E是n阶单位阵。令
,由引理3.1,
非空的充分必要条件是
,即
。并且此时对任意
,有
。证毕。
定理3.3设NIEP解集非空,
是算法3.1产生的点列。则
线性收敛到NIEP的一个的解。
证:用定义容易验证
是多面体。从而由 [17] (或 [16] ),知
线性正则。再由 [17] (或 [16] ),可知算法3.1产生的点列
线性收敛到问题(3)的一个解。从而
线性收敛到NIEP的一个解。证毕。
4. 数值实验结果
在这一节,我们将用数值实验验证算法3.1的收敛性,并比较该算法和非光滑牛顿法 [10] 的收敛效率。注意到,在文献 [10] 中,作者证明了非光滑牛顿法在某种非退化的条件下二阶收敛。所以非光滑牛顿法不能保证对所有初始点算法收敛。此外,因为非光滑牛顿法求解子问题要花费很多时间,其实际运算效率并不高。下面的数值例子也表明,非光滑牛顿法不一定收敛,并且算法3.1比非光滑牛顿法收敛效率更快。

Table 1. n = 100 , [ a , b ] = [ 0 , 1 ]
表1.

Table 2. p = 10 , [ a , b ] = [ 0 , 1 ]
表2.

Table 3. n = 100 , [ a , b ] = [ 1 , 10 ]
表3.

Table 4. p = 10 , [ a , b ] = [ 1 , 10 ]
表4.
在以下数值实验中,我们采用编程软件为Matlab2016a。初始矩阵
为随机产生的n阶矩阵,iter,Err和time (s)分别表示算法的迭代次数,误差(
)和CPU运行时间(以秒为单位)。在每次实验时,我们随机生成一个
矩阵,其元素均匀分布在
之间,并取其前p个特征对为给定特征对。其中第1,2个数值实验在随机生成的元素均匀分布在[0, 1]之间;第3,4个数值实验在随机生成的元素均匀分布在[1, 10]之间。具体的实验结果分别见表1~4。其中“−”表示算法迭代10,000次没有达到精度。此时,我们认为算法不收敛。
基金项目
论文得到国家自然科学基金(11661019)和贵州省数据驱动建模学习与优化创新团队(黔科合平台人才[2020]5016)资助。
NOTES
1所有元素都是非负实数的矩阵称为非负矩阵。