Skip to content

7.4 奇异值分解

5.3节和7.1节的对角化定理在许多应用中均很重要,然而,如我们所知,不是所有矩阵都有分解式 ,且 是对角的。但分解 对任意 矩阵 都有可能!这类特殊分解称为奇异值分解,是线性代数应用中最有用的矩阵分解。

奇异值分解基于一般的矩阵对角化性质,可以被长方形矩阵模仿:一个对称矩阵 的特征值的绝对值表示度量 拉长或压缩一个向量(特征向量)的程度。如果 ,且 ,那么

如果 是具有最大数值的特征值,那么对应的单位特征向量 确定一个由 的拉长影响最大的方向,也就是说,(1)式表示当 时, 的长度最大化,且 。这个对 的描述对于长方形的矩阵来说也是类似的,这将导致奇异值分解。

例 1

如果 ,那么线性变换 中的单位球 映上到 中的椭圆,见图 7-13. 找出使得长度 最大的一个单位向量 ,且计算这个最大长度.

图7-13 从 的一个变换

使 的值最大化的 同样使 的值最大化,但 更容易计算。注意到

由于 ,故 也是一个对称矩阵.所以,现在的问题转化为在条件 的限制下二次型 的最大化.利用7.3节的定理6,最大值就是矩阵 的最大特征值 ,同样,最大值可以在 的特征值 对应的单位特征向量处获得.

对本例中的矩阵

矩阵 的特征值是 ,对应的单位特征向量分别是

的最大值是360,且在 为单位向量 处获得.向量 图 7-13中椭圆上离原点最远的点,即

的最大值是

例1 说明, 中单位球面的影响与二次型 有关。事实上,变换 的全部几何特性都可用二次型来说明,下面我们将说明这个问题。

矩阵,那么 是对称矩阵且可以正交对角化。令 的单位正交基且构成 的特征向量, 对应的特征值,那么对

所以, 的所有特征值都非负.如果必要,通过重新编号,可以假设特征值的重新排列满足

的奇异值是 的特征值的平方根,记为 ,且它们用递减顺序排列,也就是对 .由(2)可知, 的奇异值是向量 的长度.

例 2

例1中的矩阵,由于 的特征值是360,90和0,故 的奇异值是

例1可知, 的第一个奇异值是 处获得.7.3节的定理7表明, 处获得.7.3节的定理7表明, 的第二个奇异值是 处获得(习题22).对例1中的 正交的单位向量上的最大值,且这个最大值可以在第二个单位特征向量 处获得(习题22).对例1中的

这个点在图 7 在长轴上一样(见图 7-14)。矩阵 在长轴上一样(见图 7-14)。矩阵 的前两个奇异值是椭圆长半轴和短半轴的长度。

图 7-14

事实上,像下面定理所说,图 7-14中的 正交不是偶然.

定理 9

假若 是包含 的特征向量的 上的单位正交基,重新整理使得对应的 的特征值满足 . 假若 个非零奇异值,那么 是 ColA 的一个正交基,且 rank A=r.

证明

由于当 时, 正交,所以

从而 是一个正交基. 更进一步,由于向量 的长度是 的奇异值,且因为有 个非零奇异值,因此 的充分必要条件是 . 所以 是线性无关向量,且属于 ColA. 最后,对任意属于 ColA 的 ,比如 y=Ax,我们可以写出 ,且

这样, 在 Span 中,这说明 是 Col A 的一个(正交)基。因此 rank A = -dim Col A = r。

数值计算的注解 在一些情形下, 的秩对 中元素的微小变化很敏感。如果用计算机对矩阵 作行化简,那么很明显矩阵 的主元列数目的计算方法效果不好,舍入误差常导致满秩的阶梯矩阵。

实际上,估计大矩阵 的秩时,最可靠的方法是计算非零奇异值的个数。在这种情形下,特别小的非零奇异值在实际计算中常假定为零,矩阵 的有效秩是剩余非零奇异值的数目。

矩阵 的分解涉及一个 “对角” 矩阵 ,其形式是

其中, 是一个 对角矩阵,且 不超过 中较小的那个(如果 等于 ,或都相等,

中不会出现零矩阵).

定理 10 奇异值分解

是秩为 矩阵,那么存在一个类似(3)中的 矩阵 ,其中 的对角线元素是 的前 个奇异值, ,并且存在一个 正交矩阵 和一个 正交矩阵 使得 .

任何分解 称为 的一个奇异值分解(或SVD),其中 是正交矩阵, 形如(3)式, 具有正的对角线元素。矩阵 不是由 惟一确定的,但 的对角线元素必须是 的奇异值,见习题19。这样的一个分解中 的列称为 的左奇异向量,而 的列称为 的右奇异向量。

证明

假设 定理9,使得 是 Col A 的正交基。将每一个 单位化得到一个单位正交基 ,其中

而且

现在将 扩充为 的单位正交基 ,并且取

由构造可知,是正交矩阵,同样由(4)

是对角线元素为 的对角矩阵, 是上面(3)中的形式,那么

由于 是一个正交矩阵,因此 .

下面的两个例子侧重于讨论奇异值分解的内部结构。一个有效而数值稳定的分解算法会使用另外一种方法。参见本节末尾处的“数值计算的注解”。

例 3

使用例1例2中的结果求 的一个奇异值分解.

一个奇异值分解可分三步进行.

第一步. 将矩阵 正交对角化. 即求矩阵 的特征值及其对应的特征向量的单位正交集. 如果 只有两列, 则其计算可以手算完成. 对规模较大的矩阵通常需要使用矩阵程序.

而对此处的矩阵 ,在例1 中已经给出了 的特征值及其相应的特征向量.

第二步. 算出 . 将 的特征值按降序排列. 在例1 中, 特征值已经按降序排列: 360, 90, 0. 它们对应的单位特征向量 的右奇异向量. 使用例1 的结果, 构造 的右奇异向量. 使用例 1 的结果, 构造

特征值的平方根就是奇异值: ,其中的非零奇异值是矩阵 的对角线元素.矩阵 与矩阵 的行列数相同,以矩阵 为其左上角,其他元素为0.

第三步. 构造 . 当矩阵 的秩为 时, 矩阵 的前 列是从 计算得到的单位向量. 此例中, 有两个非零奇异值, 因此 . 根据例2 之前的内容和方程 (2), 有 , , 于是

留意到 已是 的一个基,因此构造 不需另外的向量, . 的奇异值分解是

例 4

的一个奇异值分解.

首先,计算 . 的特征值是 18 和 0,相应的单位特征向量是

这两个单位向量构成 的列:

矩阵的奇异值为 。因为只有一个非零的奇异值,所以“矩阵”D可写成单个数值,即 。矩阵Σ与矩阵的行列数相同,以矩阵为其左上角:

为构造 ,首先构造

为检查计算,验证 。当然, ,因为 。目前只找到 的一列是

的其他列是将集合 扩充为 的单位正交基而得到的. 此时, 我们需要两个单位正交向量 且都与 正交. (见图 7-15.)每个向量必须满足 , 这等价于方程 , 该方程的解集构成的基是

(经检验 都与 正交.)应用格拉姆-施密特方法(和标准化)于 ,可以得到

最后,令 ,以及由上所得的 ,有

图 7-15

如上所述,奇异值分解常用于估计矩阵的秩。下面简单叙述它在数值计算中的其他应用,7.5节给出一个奇异值分解在图像处理中的应用。

例 5 条件数

当应用矩阵 的奇异值分解时,多数涉及方程 Ax=b 的数值计算要尽可能地可靠。两个正交矩阵 不影响向量的长度和两个向量的夹角(6.2 节定理7)。数值计算中的任何不稳定因素都与 有关。如果 的奇异值非常大或非常小,则舍入误差几乎不可避免,此时,知道 中的元素对分析误差特别有用.

如果 是一个 可逆矩阵,那么最大奇异值和最小奇异值的比率 给出了矩阵 的条件数。2.3 节的习题 41~43 表明条件数如何影响 Ax = b 的解对 的元素变化(或误差)的敏感程度(事实上, 的“条件数”可用几种方式计算,但这里给出的定义可广泛用于 Ax = b 的研究)。

例 6 基本子空间的基

给定 矩阵 的一个奇异值分解,取 是左奇异向量, 是右奇异向量,且 是奇异值, 的秩。由定理9

是 Col A 的一个单位正交基. 见图 7-16.

回忆6.1节的定理3 ,因此

的一个单位正交基.

由于当 ,且 是零的充分必要条件是 ,因此向量 生成一个维数为 的子空间 Nul A。由秩定理可知,dim Nul A = n - rank A,从而说明

是Nul 的一个单位正交基,见4.5节的基定理.

从(5)和(6)可知,空间 的正交补是Col .将 交换,我们有

因此,从(7)得

是Row 的一个单位正交基.

图 7-17 给出(5)~(8)的总结,但说明的是 为 Col A 的正交基,而不是标准基。注意到对 。由 确定的四个基本子空间的单位正交基在某些计算中非常有用,特别是在条件优化问题中更是如此。

确定的四个基本子空间的单位正交基在某些计算中非常有 图7-16 例6中的基本子空间用,特别是在条件优化问题中更是如此.

图7-17 四个基本子空间和 的作用

四个基本子空间和奇异值的概念给可逆矩阵定理提供了最后的命题。(回忆为了避免几乎将可逆矩阵定理的命题数目翻倍,定理中已将与 有关的命题删除了。)可逆矩阵定理的其他命题在2.3节、2.9节、3.2节、4.6节和5.2节中已经给出。

定理(可逆矩阵定理(最后补充))

矩阵,那么下述命题中的每一个都与 是可逆矩阵的命题等价.

. .

. .

. .

. A 有 个非零的奇异值.

例 7 奇异值分解的简化和 A 的伪逆

包含零元素的行或列时,矩阵 具有更简洁的分解.利用上面建立的符号,取 r = rank A,将 矩阵分块为第一块包含 列的子矩阵:

那么 。(为简化符号,我们考虑 ,即使其中一个没有任何列。)分块矩阵的乘法表明

矩阵 的这个分解称为 的简化的奇异值分解. 由于 的对角线元素非零, 因此 是可逆矩阵. 下面的矩阵称为 的伪逆(也称穆尔-彭罗斯逆):

本章最后的补充习题 12~14 研究了简化的奇异值分解和伪逆的一些性质.

例 8 最小二乘解

给定方程 ,利用式(10)中给出的 的伪逆,定义

那么由(9)式中的奇异值分解得到

从(5)式可知, 在 Col A 上的正交投影 (见 6.3 节定理10),因此 是 Ax=b 的最小二乘解。实际上,这个 在 Ax=b 的所有最小二乘解中具有最小长度,见补充习题 14。

数值计算的注解 例1~4 和习题说明了奇异值的概念并给出如何手工计算。实际上,应该避免 的计算,原因是任何 中元素的误差在 中被平方。存在快速的迭代方法,可计算精确到很多位数的矩阵 的奇异值和奇异向量。

Horn, Roger A., and Charles R. Johnson, Matrix Analysis , vol. 1 (Cambridge: Cambridge University Press, 1985), pp. 414–445.

Long, Cliff, “Visualization of Matrix Singular Value Decomposition.” Mathematics Magazine 56 (1983), pp. 161–167.

Moler, . B., and D. Morrison, “Singular Value Analysis of Cryptograms.” Amer. Math. Monthly 90 (1983), pp. 78–87.

Strang, Gilbert, Linear Algebra and Its Applications, 3rd ed. (San Diego: Harcourt Brace Jovanovich, 1988), pp. 442–452.

Watkins, David S., Fundamentals of Matrix Computations (New York: Wiley, 1991), pp. 390–398, 409–421.

练习题
  1. 给定一个奇异值分解 ,求 的一个奇异值分解。 的奇异值之间有什么联系?

  2. 对任意的 矩阵 ,利用奇异值分解证明存在一个 的正交阵 ,使得 注:练习题2表明对任意的 矩阵 ,矩阵 的正交相似的。

习题7.4

求习题 1~4 中矩阵的奇异值分解.

求习题 5~12 中每个矩阵的奇异值分解.(提示:在习题 11 中, 的一个选择可以是 ,习题 12 中 的一个列可以 是 . 5. 6. 7. 8. 9. 10.

该书中文版已由机械工业出版社引进出版. ——编辑注

  1. 的奇异值分解(提示:对 进行分解).

  2. 在习题7中,求一个单位向量 ,使得 具有最大长度.

  3. 假设下面是矩阵 的奇异值分解, 其中 的元素是四舍五入精确到小数点后两位数字.

. A 的秩是多少?

. 利用 的这个分解,不用计算,写出 ColA 的一个基和 NulA 的一个基。(提示:首先写出 的列。)

  1. 对下列 矩阵 的奇异值分解, 重做习题 15.

在习题 17~24 中, 是一个 矩阵,具有奇异值分解 ,其中 是一个 正交矩阵, 是一个“对角”矩阵,有 个正元素,没有负元素, 是一个 正交矩阵。验证每一个答案。

  1. 证明:如果 是方阵,那么 的奇异值的乘积.

  2. 是可逆方阵,求 的奇异值分解.

  3. 证明: 的列是 的特征向量, 的列是 的特征向量,而 对角线上的元素是 的奇异值。(提示:利用奇异值分解计算 .)

  4. 证明:如果 是一个 正交矩阵,那么 有同样的奇异值.

  5. 验证例2 中的论断,即当 变化范围属于所有正交于 的单位向量时,矩阵 的第二个奇异值是 的最大值,其中 的第一个奇异值的右奇异向量。(提示:利用 7.3 节的定理7.) 的第一个奇异值的右奇异向量。(提示:利用 7.3 节的定理 7.)

  6. 证明:如果 且正定的矩阵,那么 的正交对角化 就是 的奇异值分解.

  7. ,其中 定理10 中所示,证明:

  1. 利用习题 23 的记号,说明对 rank 成立.

  2. 是线性变换,描述如何求 的基 中的基 ,使得矩阵 相对于 是一个 “对角”矩阵.

[]计算习题26和习题27中每一个矩阵的奇异值分解,要求最后的矩阵元素精确到两位小数,利用例3例4的方法.

28.[]计算2.3节习题9中 矩阵的奇异值,并且计算条件数

  1. []计算 2.3 节习题 10 中 矩阵的奇异值,并且计算条件数 .
练习题答案
  1. 如果 ,其中 矩阵,那么 .这是 的一个奇异值分解,原因是 是正交矩阵,且 是一个 “对角”矩阵.由于 具有同样的非零对角元素,因此 具有同样的非零奇异值.(注意:如果 矩阵,那么 仅为 矩阵,且它的特征值比 的特征值更容易(手工)计算.)

  2. 利用奇异值分解写出 ,其中 正交矩阵, 对角矩阵,因此 。将 代入 中,得到

,则