跳到正文
格致开物MATHWIKI

矩阵范数

矩阵范数为矩阵的大小指定一个非负数,但“大小”取决于问题。把矩阵看作装满数的表,可数各元素的平方;把它看作线性映射,则可问它最多把一个向量拉长多少。两种问题产生不同的范数,不能只写 ‖A‖ 而不说明采用哪一种。

同一矩阵有几种合理的大小

取 A=(1201). 把四个数的平方相加,再开平方,得到Frobenius 范数 ‖A‖F=12+22+02+12=6≈2.449. 它是把矩阵的所有元素排成一个长向量后得到的普通欧氏长度。另一个量是矩阵对输入向量的最大伸长: ‖A‖2=maxx≠0‖Ax‖2‖x‖2=max‖x‖2=1‖Ax‖2. 这里向量的 ‖⋅‖2 是欧氏长度,矩阵下标 2 说明我们使用它来比较输入与输出。图中一个单位圆经 A 映成椭圆;离中心最远的椭圆点与中心的距离就是 ‖A‖2。

左侧单位圆在剪切矩阵作用下变为右侧倾斜椭圆,椭圆离中心最远处决定矩阵二范数
矩阵二范数比较的是输出长度与单位输入长度;图只帮助辨认最大伸长方向,数值仍须计算。

诱导范数与误差界

给定一种向量范数 ‖⋅‖v,由它诱导的矩阵范数定义为 ‖A‖v→v=supx≠0‖Ax‖v‖x‖v. 有限维情形下单位球紧致,最大值可以取到。由定义立即得到 ‖Ax‖v≤‖A‖v→v‖x‖v;也就是说,一个输入误差 Δx 经过线性映射后,绝对输出误差至多为 ‖A‖‖Δx‖。这是范数在数值分析中最直接的用途。

诱导范数还有次乘性。若矩阵 A,B 的大小可相乘,先对 Bx 用一次不等式,再对 x 用一次: ‖ABx‖v≤‖A‖v→v‖Bx‖v≤‖A‖v→v‖B‖v→v‖x‖v. 对所有非零 x 取上确界,便得 ‖AB‖≤‖A‖‖B‖。若输入、中间量、输出使用不同的向量范数,也可按相应空间逐次估计,不能混用下标。

列和、行和为何恰好给出范数

向量的一范数为 ‖x‖1=∑j|xj|。对任意矩阵 A=(aij), ‖Ax‖1=∑i|∑jaijxj|≤∑j|xj|∑i|aij|≤(maxj∑i|aij|)‖x‖1. 若选择达到最大列和的那一列,并取输入为对应的标准基向量 ej,前后比值正好等于该列的绝对值和。因此上界可达到: ‖A‖1=maxj∑i|aij|. 对于开头的矩阵,两列的绝对值和分别为 1 与 3,所以 ‖A‖1=3。

向量的无穷范数为 ‖x‖∞=maxj|xj|。对输出第 i 个分量,有 |(Ax)i|≤(∑j|aij|)‖x‖∞。取行和最大的那行,让每个 xj 取该行 aij 的符号(零项任选 ±1),就能达到这行的绝对值和。因此 ‖A‖∞=maxi∑j|aij|=3. 这里的 1 与 ∞ 是向量范数的类型,不是把矩阵各项取一次方或无穷次方。

二范数与奇异值

对实矩阵,‖Ax‖22=x𝖳A𝖳Ax。单位向量上这个二次式的最大值是对称矩阵 A𝖳A 的最大特征值,所以 ‖A‖2 等于 A 的最大奇异值。开头的矩阵满足 A𝖳A=(1225),det⁡(A𝖳A−λI)=λ2−6λ+1. 两个特征值为 3±22,故 ‖A‖2=3+22=1+2≈2.414. 它与 ‖A‖F=6 很接近,但不相同。Frobenius 范数一般不是由欧氏向量范数诱导:I2 的诱导二范数为 1,而 Frobenius 范数为 2。

选择范数时要保留单位和目的

若矩阵各列表示不同单位的参数,直接比较列和可能没有物理意义。应先说明输入与输出的计量尺度,必要时无量纲化。条件数使用 ‖A‖‖A−1‖ 度量相对误差放大,必须在同一对相容范数下解释;奇异值分解把二范数的最大、最小伸长方向分开。对矩阵数据本身的元素误差,Frobenius 范数常更直观;对线性算子传播输入误差,诱导范数通常更贴题。

来源与相关词条