1. 引言
如果一个 
  矩阵有n个不同的特征值,则称其为单矩阵。若一个 
  矩阵其线性无关特征向量的个数少于n,则称其为亏损矩阵。单矩阵到其附近亏损矩阵的距离与矩阵特征值的灵敏度分析密切相关。即使矩阵的所有特征值都可以彼此很好地分离,特征值的计算也可能是病态的。Kublanovskaya [1] 通过构造一个子空间的辅助基,提供了一种计算亏损矩阵特征值的方法。Ruhe [2]、Sridhar和Jordan [3]、Kågström和Ruhe [4]、Demmel [5] 分别给出了几种计算亏损矩阵约当标准形和相关不变子空间的稳定算法。Chatelin [6] 基于对牛顿法的修正,设计算法计算亏损特征值的不变子空间。Wilkinson [7] [8] [9] 深入地研究了亏损矩阵特征值问题,并给出了基于摄动分析的全体特征值的显式表达式。Wilkinson [10] [11] 详细地讨论了如何计算与给定单矩阵距离最近的亏损矩阵。Malyshev [12] 给出了一个单矩阵到具有多重特征值矩阵的距离2范数的具体公式。Lippert和Edelman [13] 基于微分几何和奇点理论,计算了一个单矩阵到一个具有二维约当块的矩阵簇的距离。利用矩阵的特征值及特征向量,Alam和Bora [14] 给出了构造最接近给定单矩阵亏损矩阵的数值算法。Alam、Bora、Byers和Overton [15] 通过伪谱分量的合并对文献 [15] 中算法进行了优化。Akinola、Freitag和Spence [16] 提出了基于隐式行列式法的最近亏损矩阵的快速算法。
Rump基于区间算法,开发了Matlab中的INTLAB工具箱,将其用于可信计算,见文献 [17] [18]。本文利用给定单矩阵的近似特征值,设计了基于F范数的单矩阵附近最近亏损矩阵的可信验证算法。
2. 预备部分
令 
  表示全体实数集,设A为 
  矩阵, 
  表示A的迹, 
  表示由A的每一列合并得到的长列向量。如果A为 
  矩阵, 
  表示由矩阵A的第 
  行到第 
  行所构成的矩阵, 
  表示由矩阵A的第 
  列到第 
  列所构成的矩阵。令 
  表示 
  阶零矩阵, 
  表示n阶单位阵。
对给定的数 
 ,若 
 ,则称 
  为区间,令 
  和 
  分别表示区间 
  的右边界和左边界。设 
  表示全体区间的集合,分量为区间的向量和矩阵分别被称为区间向量和区间矩阵。区间向量 
  是一个n元组,其分量 
 。定义实向量
  , 
 
分别为区间向量 
  的右边界和左边界。
对于区间矩阵 
 ,若对满足条件 
  的任意实矩阵M都是对称矩阵,则称区间矩阵 
  为区间对称矩阵。如果 
  内的对称矩阵均为正定矩阵,则区间对称矩阵 
  为区间对称正定矩阵。给定区间对称矩阵 
 ,如果INTLAB工具箱 [17] 中的代码输出1,则 
  为区间正定对称矩阵。
定义1 (见 [18] ):给定矩阵 
 ,
 ,定义矩阵A的余秩为 
 。对于阈值 
 ,如果矩阵A的奇异值 
  满足
 
则我们说A有数值 
  余秩q,记为 
 。
引理1 (见 [19] ):给定矩阵 
 ,若存在矩阵 
 ,使得 
 ,其中 
 ,则A是非奇异的。
定理1 (见 [19] ):对于给定的区间矩阵 
  和区间向量 
 ,若INTLAB工具箱中verifylss函数成功地输出区间向量 
 ,则 
  满足条件
 
定理2 (见 [19] ):设 
  并且 
 ,其中 
  为连续可微函数。对 
 ,
 ,其中 
 ,设 
  为区间 
  处 
  的雅可比矩阵。对于 
  和 
  满足 
 ,假设
 
那么,存在唯一 
 ,使得 
 。
3. 主要结论
给定一个具有n个互异特征值的 
  矩阵 
 。若对某个 
 ,若 
  ,则本文的主要工作是计算给定矩阵 
  的微小摄动区间矩阵 
 ,以及给定实数 
  的微小摄动区间 
 ,使得在区间矩阵 
  中存在一个实矩阵 
 ,在区间 
  中存在一个实数 
 ,算法保证 
  为矩阵 
  几何重数为q的亏损特征值。
3.1. 数值部分
记 
  的奇异值分解为
 
其中 
 。引入未定元矩阵
  (1)
为了简便起见,用 
  表示向量 
 。定义矩阵
  (2)
其中 
 ,
 。易知, 
 ,
  时,矩阵 
  非奇异。
引理2:假设 
 ,
  且 
 。如果
  (3)
成立,则当 
 ,
  时,矩阵 
  非奇异。
证明:由已知可得
 
则由引理1,可知 
  非奇异。 □
令 
  和 
  分别是下列线性系统
  (4)
解的前n行和后q行。由引理2可知,存在以 
  为中心的邻域,使得对于该邻域内任意的 
 ,矩阵 
  非奇异。进一步,在该邻域内,系统(4)解向量的每个分量关于所有变量都充分可微。对系统(4)两端关于 
  求导可得下列系统
  (5)
对于 
 ,其中 
 ,对系统(4)关于变量 
  求偏导,可得
  (6)
对于 
 ,其中 
 ,对系统(6)关于变量 
  求偏导,有
  (7)
对于 
 ,其中 
 ,系统(5)两端对 
  求偏导,可得
  (8)
对于 
 ,系统(5)关于变量 
  和 
  求偏导,可得
  (9)
注1:对于满足条件 
  的矩阵 
  及实数 
 ,数值部分的主要工作是求解以下约束优化问题
  (10)
  (11)
利用牛顿迭代法来计算优化问题(10)的数值稳定点。需要注意的是,条件(11)中出现的正整数k是根据阈值 
  计算出来的。初始k值应满足以下条件
 
对于更新的 
 ,如果
 
不成立,则需要更新k,使得条件
 
成立。 □
注2:令 
  为 
  的Hession矩阵,其中 
 ,定义非线性系统
  (12)
则优化问题(10)相应的拉格朗日函数为
  (13)
其中 
  为拉格朗日乘子,函数 
  的梯度和Hession矩阵分别为
  (14)
  (15)
注3:数值部分采用牛顿数值迭代法
  (16)
来更新 
 ,使得 
  接近零向量。 □
3.2. 验证部分
引理3:若向量 
  满足条件 
 ,且
 
成立,则
  (17)
证明:根据引理2可知, 
  非奇异。若 
 ,则有
 
显然, 
  是线性无关的。假设 
 ,对于某非零向量 
  有
  满秩,则对于非零实向量 
 ,有
 
上式与假设条件矛盾,故(17)成立。 □
假设1:雅可比矩阵 
  满秩。
命题1:假设 
  是系统(12)的解,且满足条件
 
则对每一个正整数l,其中 
 ,下列向量的序列
  (18)
构成 
  的基。
证明:设实矩阵 
  满足条件 
 。当 
  时,根据引理3知, 
  是 
  的一个基。假设正整数 
 ,向量组(18)是 
  的一组基。下面考虑 
  时的情况。显然
  (19)
接下来证明向量组
  (20)
线性无关。然而,如果存在一个q维非零实向量序列 
 ,使得
 
则
 
由数学归纳法可知向量组 
  全是零向量。因此 
 ,而 
  列向量线性无关,故 
  成立。综上可得矛盾,所以(20)线性无关。
最后假设存在非零实向量 
  满足条件
  (21)
则存在不全为零的向量组 
 ,
 ,使得
 
成立。因此,存在一个q维向量 
 ,使得
 
这与(21)式矛盾。 □
注4:利用命题1和verifylss函数可知,验证算法计算包含实向量 
  的区间向量 
 ,使得区间向量 
  中包含实向量 
 ,其满足条件 
 。对于包含实向量 
  的任意区间向量 
 ,利用定理1和verifylss函数,求解当 
  时的线性系统(6) (7) (8) (9),可得到区间梯度向量 
  和区间雅可比矩阵 
 。 □
4. 主要算法
本节提出一种计算及验证优化问题(10)局部最优解的算法。对于实数x,代码 
  输出区间 
 ,且对于实数 
  满足 
 ,代码 
  输出区间 
 。对于区间 
 ,代码 
  返回同时包含 
  和 
  的最小区间。
算法1
输入 
  : 
  对称矩阵;
  :数值秩的容差;
  :数值牛顿迭代的容差;
  :初始近似特征值;
N:数值迭代的最大次数。
输出 
 ,
 ,
  和 
  或“失败”。
步骤1 对 
  进行奇异值分解。若 
 ,进行第二步,否则返回失败并停止。
步骤2 数值部分。
步骤2.1 初始化 
 。
步骤2.2 当 
  进行
令 
  ;
当 
 ,求解线性系统(5)得到 
 。
步骤2.3 如果 
 ,返回失败并停止,否则进行下一步。
步骤2.4 求解线性系统(5) (6) (8)得到 
 。
步骤2.5 初始化
 。
步骤2.6 当 
  且 
 ,进行
 ,求解线性系统(7) (9)得到 
  ;
利用(16)更新 
  ;
更新 
  ;
如果 
 ,则返回步骤2.2;
求解线性系统(6) (8)计算 
 。
步骤2.7 如果 
 ,返回失败并停止。
步骤3 验证部分。
步骤3.1 初始化 
  及 
 。
步骤3.2 当 
 ,进行
令 
  ;
令 
  ;
计算 
  ;
令 
  ;
若 
 ,则令
 。
步骤3.3 如果 
  或者 
 ,则输出 
  和q并停止。
定理3:给定矩阵 
  及其近似特征值 
 ,如果算法1输出 
  和q,则存在 
 ,
  使得 
  是优化问题(10)的局部最优解。进一步, 
  是矩阵 
  几何重数为q的亏损特征值。
证明:由定理2可知,存在 
 ,使得 
 。由引理3和命题1可知,当 
 ,
  是矩阵 
  几何重数q的亏损特征值。 □
5. 应用实例
例1给定矩阵
 
令 
  为
 
对于不同的n,通过Matlab中的eig代码计算可知 
  为单矩阵。对于不同的n和特征值 
  的矩阵 
 ,表1给出算法1的结果。

Table 1. The performance of Algorithm 1 for Example 1
表1. 例1中算法1的计算结果
例2设 
  矩阵J有一个 
  的约当块和一个 
  的约当块,两个约当块都与特征值2相关,令P为随机的非奇异矩阵。令 
 ,令
 
矩阵A为亏损矩阵,但利用Matlab计算可知矩阵A经过微小摄动后所得的 
  为单矩阵。对于给定的 
  和 
 ,表2给出算法1的计算结果。

Table 2. The performance of Algorithm 1 for Example 2
表2. 例2中算法1的计算结果
基金项目
吉林省自然科学基金(批准号:20180101345JC)。
 NOTES
*通讯作者。