动态系统及控制讲义MohammedDahlehMuntherA.DahlehGeorgeVerghese电气工程与计算机科学系麻省理工学院11©第四章矩阵范数和奇异值分解4.1引言在这一讲中,我们将引入矩阵范数的概念。之后会介绍矩阵的奇异值分解或者叫SVD。SVD揭示了矩阵的2范数,它的值意义更大:它使一大类矩阵扰动问题得以解决,同时也为后面稳定鲁棒性的概念打下基础;它还解决了所谓的完全最小二乘问题,该问题是我们前面讲的最小二乘问题的推广;还帮我们澄清在矩阵求逆计算中碰到的态性的概念。在下一讲中,我们会花更大的篇幅来叙说SVD的应用。例4.1为了提高大家对矩阵范数研究和应用的兴趣,我们首先从一个例子开始,该例子提出了与矩阵求逆有关的矩阵态性问题。我们所感兴趣的问题是矩阵求逆对矩阵扰动的敏感程度。考虑求下列矩阵的逆马上就可以求得现在我们假设对一个受到扰动的矩阵求逆求逆后,结果就成了在这里表示A中的扰动,表示中的扰动。显然中一项的变化会导致中的变化。如果我们解,其中,得到,加入扰动后,解得。在这个结果中,我们仍然可以清楚的看到开始数据仅有的变化,却导致解产生的变化。以上例子中我们看到的要比在标量情况下差的多。如果是标量,那么,所以的倒数中小数部分的变化和的变化在同一量级上。因此,在上例中的现象完全是在矩阵的时候才出现的。看上去好像和是近似奇异的事实有关——因为它的列几乎不独立,且它的行列式值要比它的最大元素小很多,等等。随后(见下一讲),我们会找到衡量奇异程度的合理方法,同时还要说明在求逆情况下,这种方法和灵敏度的关系如何。在理解这种灵敏度和扰动的细节关系之前,我们首先要找到度量向量和矩阵量级的方法。在第一讲中我们已经引入了向量范数的概念,所以我们现在来看一下矩阵范数的定义。4.2矩阵范数一个维复数矩阵可以看成(有限维)赋范向量空间中的一个算子:其中,这里的范数指的是标准欧氏范数。定义的归纳2-范数如下:术语“归纳”是指在向量和的范数的基础上,使得以上矩阵范数的定义有意义。该定义中,归纳范数表示矩阵在中单位圆上向量扩大的倍数,也就是说,它表示矩阵的增益。除了用2-范数来度量向量和,我们还可以用范数,感兴趣的是的情况。它的定义是:需要考虑的一个很重要的问题是,在第一讲向量范数定义的情况下,归纳范数是否是真正的范数呢?下面,我们来回顾定义范数的三个条件:现在我们证明是上的范数——利用前面的定义:1.对任意都有,所以。进一步有,因为是在单位圆上的最大值。2.对任意的,由得。3.三角不等式仍然成立,因为:归纳范数有两条额外重要的性质:1.,它是由定义直接推得的结论;2.对于称为子乘性质。也可以直接由定义得出:除以得:由此我们得出结果。归纳2-范数将是本讲以及下一讲的重点,在我们深入研究它的更多细节之前,我们先引出另外两个常用的归纳范数,-范数和-范数。我们还会讲到一个重要的矩阵范数,它不是归纳范数,而叫做范数。我们很容易证明和(注意当的时候,这两个定义就成了我们学过的列向量的-范数和-范数。)归纳-范数的证明要分两步,即:1.证明等式的值中存在上限2.对于某些,证明该上限是可以求出来的:为了看到这些步骤如何执行,我们给出一些有关-范数的细节。令,并考虑:上面的不等式说明了上限由下式给出为了证明该上限可以通过某向量求得,用表示取得最大值的位置,即。定义向量为:显然且-范数的证明完全类似,留给读者自己去完成。在矩阵范数中有的不是归纳范数,也就是满足前面说过的那三条的函数。范数就是其中最重要的一个:换句话说,范数定义为矩阵各元素的平方和的根,也就是说,当把矩阵仅仅当作中的一个向量时,那么范数也就是矩阵通常的欧氏2-范数。虽然可以证明范数不是归纳范数,但是它却仍然具有归纳范数的子乘性质。还有一些其它的范数的定义(有些不具有子乘性质),不过我们只对上面我们讲的几个感兴趣。4.3奇异值分解在我们讨论矩阵的奇异值分解之前,我们先看几个关于矩阵的常识和定义。一些矩阵常识:z如果,,那么就是单位矩阵。像Matlab中一样,在这里上角标表示转置矩阵的复数共轭,也称为厄密共轭或者共轭转置。z如果,,那么就是正交的,其中上角标表示转置。z性质:如果是单位矩阵,那么。z如果(也就是和它的厄密共轭阵相等,在这种情况下,我们称为厄密共轭阵),那么就一定存在一个单位矩阵使得。z对任意的矩阵A,和都是厄密共轭阵,所以它们都可以通过单位矩阵变成对角阵。z对任意的矩阵A,和的特征值通常都是实的和非负的(很容易通过反证法进行证明)。定理4.1(奇异值分解,或称)给定任意矩阵,A可以写成:其中。称作的奇异值,按照降序排列为:证明:我们只证的情况;其他的情况和该例的证明十分类似。是厄密共轭阵,所以可以通过单位矩阵进行对角化,有:注意,由于是正定的,所以中的对角元素也都是正实数。我们可以写出。定义,其中。的行是正交的,这一点可以从下面的计算中看出:。选择矩阵,使得在中,且是单位矩阵。定义维矩阵。这意味着也就是。例4.2在本讲一开始给定的矩阵,它的(在Matlab中输入可以很方便的求出结果)是:观察:它说明了使得对角化;它说明了使得对角化;如果、用它们的列来表示,即:那么:它是的另一种写法。称为的左奇异向量,称为右奇异向量。从这里可以看出,也可以认为是:该式是的加权和,其中权值是奇异值和在上投影的乘积。说明(因为,其中是标量权值)。因为的列向量是独立的,所以,且构成了空间的基底。的零空间由决定:例4.3奇异值分解的一个应用就是求解系统的代数方程组。设是一个维复数矩阵,是中的一个向量。设的秩是且。我们来找出线性系统的解法。把奇异值分解过程用到上,我们得到:其中是一个非奇异对角阵。单位矩阵、用列的形式表示成:该方程组有解的充要条件是对所有在内的都满足。否则,该方程组是不相容的。该条件意味着向量必须要和的最后列正交。所以,该线性系统方程组可以写成:利用上面的方程以及的可逆性,系统方程组可以重新写成:再根据我们得到解的形式如下:通过前面的观察,我们知道向量张成的核空间,因此该线性系统方程组的通解就是:其中系数取任意复数,在区间中。4.4矩阵范数关系奇异值分解法可以用来求解矩阵的归纳2-范数。定理4.2它说明最大幅值就是最大的奇异值。证明:对,它的上限值就可以求出了。(注意它相当于,因此,。)奇异值分解的另一个应用,是计算2-范数等于1的满秩矩阵的最小幅值。定理4.3给定,假设。那么注意,如果,那么就会存在一个,使得最小值达到零(将重新写成它的形式就看出来了)。证明:对任意的图4.1:的映射图解。注意,。对于。现在注意当时,取得最小值;证毕。范数也可以由奇异值很简单的表示出来。下面这个证明留给读者去完成:例4.4矩阵不等式两个方阵如果满足下列关系,我们说:这个结论可以对任意矩阵,而不必是方阵,习题习题4.1对任意的维矩阵,证明下式成立:习题4.2假设。找出的特征值和奇异值之间确定的关系。当不对称时,结论还成立吗?习题4.3如果,证明。习题4.4该问题利用迭代结构,说明了存在的必要性。证明,其中和为单位矩阵,等价于证明。用的定义,证明存在单位向量(在-范数度量的前提下)和,使得,其中。我们可以将上一问的和都扩展到正交基,也就是说,我们可以找到第一列分别是和的单位矩阵和:证明,一种方法是通过变换可以找到,具体如下:同样可以得到的表达式。现在,定义,说明为什么注意:请说出以上矩阵左下角元素是的理由是什么?证明并结合,推出,因而在下一次迭代中,我们将以上步骤应用到上,等等。一直到迭代结束,我们就得到了。[之所以这是目前仅有的证明存在性的方法而不是算法,是因为它一开始就引入了和,但并没有给出计算他们的方法。计算比较好的算法确实存在——参看和的著作,,,是众多应用中数值计算方面的一座里程碑。]习题4.5设维矩阵被分解为以下形式:其中和是单位矩阵,是一个维可逆矩阵(——也可以实现这种分解)。的或伪逆,记为定义为维矩阵,形式如下:(在Matlab中,可以调用命令来计算它。)证明和是对称的,且、。(这四个条件其实就是的不同形式的定义。)证明,当是列满秩时,有当是行满秩时,有。证明在所有使取得最小值(如果不是列满秩的话,会有很多)的中,具有最小长度的那一个由给定。习题4.6本题中的矩阵都是实数矩阵。假设其中是正交矩阵,是可逆矩阵。(回忆一下,对于任意具有列满秩的矩阵都存在这种分解。)同时,令矩阵如下:其中和的划分方法一致。求使的范数,或等价的平方范数取得最小值的矩阵,记为。也就是找到同时,确定的值。(结果要用矩阵和来表示。)你在中的可以写成吗?可以写成吗?其中,表示的。求解使取得最小值的,用表示。其中和是给定的且有合适维数的矩阵。(结果要用和表示。)习题4.7结构化奇异值已知是复数方阵,定义结构化奇异值函数如下:其中表示某个矩阵集合。如果,请证明,其中是的谱半径,定义为,是的特征值。如果,证明。如果,证明其中习题4.8重新考虑前一问题中定义的复方阵的结构化奇异值函数。如果有更多的结构,就可能计算出的精确值。在本题中,假设是秩1矩阵,那么可以写成,其中是维复向量。根据下列条件,计算:为了简化计算,在的定义下,使的范数最小化。