条件数:逆矩阵与线性方程组
将学习到什么
作为矩阵以及向量范数的一个应用,我们来考虑在计算矩阵以及计算线性方程组的解时界定误差限这个问题.
逆矩阵
如果求一个给定的非奇异矩阵 \(A \in M_n\) 的逆矩阵的计算是在一台数字计算机上用浮点算数进行,就不可避免产生舍入误差以及截断误差,以及 \(A\) 本身测量取值的不确定性. 那么计算中的误差以及数据中的误差会怎样影响所计算的矩阵的逆的元素呢?
设 \(\lVert \cdot \rVert\) 是一个给它的矩阵范数,并假设 \(A \in M_n\) 是非奇异的. 我们想要计算 \(A\) 的逆,不过改为处理 \(B=A+\Delta A\),其中我们假设
\begin{align} \label{e0}
\lVert A^{-1}\Delta A \rVert <1
\end{align}
以确保 \(B\) 是非奇异的. 由于 \(B=A(I+A^{-1}\Delta A)\) 以及 \(\rho(A^{-1}\Delta A)\leqslant \lVert A^{-1}\Delta A \rVert <1\),假设条件 \ref{e0} 就确保 \(-1 \notin \sigma(A^{-1}\Delta A)\),从而 \(B\) 是非奇异的.
我们目的是计算 \(\lVert A^{-1}-B^{-1} \rVert =A^{-1}(\Delta A)B^{-1}=A^{-1}(B-A)B^{-1}=A^{-1}-B^{-1}\),所以
\begin{align} \label{e1}
\lVert A{-1}-B \rVert = \lVert A^{-1}(\Delta A)B^{-1} \rVert \leqslant \lVert A^{-1}\Delta A \rVert \lVert B^{-1} \rVert
\end{align}
由于 \(B^{-1}=A^{-1}-A^{-1}(\Delta A)B^{-1}\),我们也有
\begin{align}
\lVert B^{-1} \rVert \leqslant \lVert A^{-1} \rVert + \lVert A^{-1}(\Delta A)B^{-1} \rVert \leqslant \lVert A^{-1} \rVert + \lVert A^{-1}\Delta A \rVert \lVert B^{-1} \rVert
\end{align}
移项,它等价于不等式
\begin{align} \label{e2}
\lVert B^{-1} \rVert = \lVert (A+\Delta A)^{-1} \rVert \leqslant \frac{\lVert A^{-1} \rVert}{1-\lVert A^{-1}\Delta A \rVert }
\end{align}
将 \ref{e1} 与 \ref{e2} 组合起来就给出界
\begin{align}
\lVert A{-1}-B \rVert \leqslant \frac{\lVert A^{-1} \rVert \lVert A^{-1}\Delta A \rVert }{1-\lVert A^{-1}\Delta A \rVert } \leqslant \frac{\lVert A^{-1} \rVert \lVert A^{-1} \rVert \lVert \Delta A \rVert }{1-\lVert A^{-1}\Delta A \rVert }
\end{align}
从而计算逆矩阵时的相对误差的上界时
\begin{align}
\frac{\lVert A{-1}-B \rVert}{\lVert A^{-1} \rVert} \leqslant \frac{\lVert A^{-1} \rVert \lVert A \rVert}{1-\lVert A^{-1}\Delta A \rVert } \frac{\lVert \Delta A \rVert}{\lVert A \rVert }
\end{align}
量
\begin{align}
\kappa(A) = \begin{cases} \lVert A^{-1} \rVert \lVert A \rVert \qquad &\text{如果}\,\, A \,\,\text{是非奇异的} \\ \infty & \text{如果}\,\, A \,\,\text{是奇异的} \end{cases}
\end{align}
称为矩阵逆关于矩阵范数 \(\lVert \cdot \rVert\) 的条件数. 注意:对任何矩阵范数都有 \(\kappa (A)= \lVert A^{-1} \rVert \lVert A \rVert \geqslant \lVert A^{-1} A \rVert = \lVert I \rVert\geqslant 1\). 我们就证明了界
\begin{align} \label{e4}
\frac{\lVert A{-1}-B \rVert}{\lVert A^{-1} \rVert } \leqslant \frac{\kappa (A)}{1-\lVert A^{-1}\Delta A \rVert } \frac{\lVert \Delta A \rVert}{\lVert A \rVert }
\end{align}
如果我们将假设条件 \ref{e0} 加强为
\begin{align} \label{e5}
\lVert A^{-1}\rVert \lVert \Delta A \rVert <1
\end{align}
并注意到
\begin{align}
\lVert A^{-1}\rVert \lVert \Delta A \rVert = \lVert A^{-1}\rVert \lVert A \rVert \frac{\lVert \Delta A \rVert }{\lVert A \rVert} = \kappa(A) \frac{\lVert \Delta A \rVert }{\lVert A \rVert}
\end{align}
那么就由 \ref{e4} 得出
\begin{align} \label{e6}
\frac{\lVert A^{-1}-(A+\Delta A)^{-1} \rVert}{\lVert A^{-1}\rVert } \leqslant \frac{\kappa (A)}{1-\kappa(A) \frac{\lVert \Delta A \rVert }{\lVert A \rVert}} \frac{\lVert \Delta A \rVert}{\lVert A \rVert }
\end{align}
它作为数据的相对误差以及 \(A\) 的条件数的函数,是关于 \(A\) 的逆的计算中出现的相对误差的一个上界. 这样一个界称为先验的界,这是因为它只与任何计算完成之前已知的数据有关.
如果 \(\lVert A^{-1}\rVert \lVert \Delta A \rVert\) 不仅小于 \(1\),而且还大大地小于 \(1\),则 \ref{e6} 右边的阶为 \(\kappa (A) \lVert \Delta A \rVert / \lVert A \rVert\),故而我们有充分的理由相信:只要 \(\kappa(A)\) 不大,那么矩阵逆的相对误差与数据的相对误差有同样的阶.
我们称矩阵 \(A\) 是病态的或者贫态的,如果 \(\kappa(A)\) 很大;如果 \(\kappa(A)\) 很小,接近于 \(1\),我们就称 \(A\) 是良态的;如果 \(\kappa(A)=1\),我们就称 \(A\) 是优态的. 当然,关于态质的所有这些表述都是相对于一个指定的矩阵范数 \(\lVert \cdot \rVert\) 而言的.
线性方程组
类似的讨论可以用来对线性方程组的解的精确度给出先验的界. 假设我们想要求解线性方程组
\begin{align} \label{e7}
Ax=b, \qquad A \in M_n \,\,\text{是非奇异的且}\,\, b \in \mathbb{C}^n \,\,\text{是非零向量}
\end{align}
但是由于计算误差或者数据中存在的不确定性,我们实际上是求解一个摄动方程组
\begin{align}
(A+\Delta A)\tilde{x}=b+\Delta b, \qquad A,\Delta A \in M_n ,\,\, b ,\Delta b \in \mathbb{C}^n ,\,\,\tilde{x} = x+\Delta x
\end{align}
\(\tilde{x}\) 与 \(x\) 有多么接近,即 \(\Delta x\) 能有多大?我们可以用矩阵范数以及相容的向量范数来得到解的相对误差的界,这个界表示成为数据中的相对误差以及 \(A\) 的条件数的函数.
设给定 \(M_n\) 上一个矩阵范数 \(\lVert \cdot \rVert\) 以及 \(\mathbb{C}^n\) 上一个相容的向量范数 \(\lVert \cdot \rVert\),并再次假设不等式 \ref{e0} 满足. 由于 \(Ax=b\),方程组即为
\begin{align}
(A+\Delta A)\tilde{x} &= (A+\Delta A)(x+\Delta x)=Ax+(\Delta A)x+(A+\Delta A)\Delta x \notag \\
&=b+(\Delta A)x + (A+\Delta A) \Delta x = b+\Delta b \notag
\end{align}
或者
\begin{align}
(\Delta A)x+(A+\Delta A)\Delta x=\Delta b \notag
\end{align}
这样一来,就有 \(\Delta x=(A+\Delta A)^{-1}(\Delta b-(\Delta A)x)\) 以及
\begin{align}
\lVert \Delta x \rVert &= \lVert (A+\Delta A)^{-1}(\Delta b-(\Delta A)x) \rVert \notag \\
& \leqslant \lVert (A+\Delta A)^{-1} \rVert \lVert (\Delta b-(\Delta A)x) \rVert \notag
\end{align}
借助于 \ref{e2} 以及相容性,我们就有
\begin{align}
\lVert \Delta x \rVert \leqslant \frac{\lVert A^{-1} \rVert}{1-\lVert A^{-1}\Delta A \rVert } (\lVert \Delta b\rVert + \lVert \Delta A \rVert \lVert x \rVert ) \notag
\end{align}
从而
\begin{align}
\frac{\lVert \Delta x \rVert}{\lVert x \rVert} \leqslant \frac{\lVert A^{-1} \rVert \lVert A \rVert}{1-\lVert A^{-1}\Delta A \rVert } \left(\frac{\lVert \Delta b\rVert}{\lVert A\rVert \lVert x \rVert} + \frac{\lVert \Delta A \rVert}{\lVert A \rVert}\right) \notag
\end{align}
利用 \(\kappa(A)\) 的定义以及界 \(\lVert b \rVert = \lVert Ax \rVert \leqslant \lVert A \rVert \lVert x \rVert\),我们就得到
\begin{align} \label{e8}
\frac{\lVert \Delta x \rVert}{\lVert x \rVert} \leqslant \frac{\kappa(A)}{1-\lVert A^{-1}\Delta A \rVert } \left(\frac{\lVert \Delta b\rVert}{\lVert b \rVert} + \frac{\lVert \Delta A \rVert}{\lVert A \rVert}\right)
\end{align}
如果我们再次做出更强的假设 \ref{e6},我们就得到较弱的然而更加明晰的界
\begin{align} \label{e9}
\frac{\lVert \Delta x \rVert}{\lVert x \rVert} \leqslant \frac{\kappa(A)}{1-\kappa(A)\frac{\lVert A\Delta A \rVert}{\lVert A \rVert} } \left(\frac{\lVert \Delta b\rVert}{\lVert b \rVert} + \frac{\lVert \Delta A \rVert}{\lVert A \rVert}\right)
\end{align}
这个界与 \ref{e6} 有同样的特征以及推论:如果线性方程组 \ref{e7} 中的系数矩阵是良态的,那么关于解的相对误差与关于数据的相对误差有相同的阶.
如果现成的有 \ref{e7} 的一个计算出来的解,可以将它用于后验的界中. 再次设 \(\lVert \cdot \rVert\) 是一个与向量范数 \(\lVert \cdot \rVert\) 相容的矩阵范数,设 \(x\) 是 \ref{e7} 的精确解,并考虑剩余向量 \(r=b-A \hat{x}\). 由于 \(A^{-1}r=A^{-1}(b-A\hat{x})=A^{-1}b-\hat{x}=x-\hat{x}\),我们就有界 \(\lVert x-\hat{x}\rVert = \lVert A^{-1}r \rVert \leqslant \lVert A^{-1}\rVert \lVert r \rVert\) 以及 \(\lVert b \rVert = \lVert Ax \rVert \leqslant \lVert A\rVert \lVert x \rVert\),也就是 \(1 \leqslant \lVert A\rVert \lVert x \rVert / \lVert b\rVert\). 那么
\begin{align}
\lVert x-\hat{x} \rVert & \leqslant \lVert A^{-1}\rVert \lVert r \rVert \leqslant \frac{ \lVert A\rVert \lVert x\rVert }{ \lVert b\rVert} \notag \\
&=\lVert A \rVert \lVert A^{-1} \rVert \frac{\lVert r \rVert}{\lVert b \rVert} \lVert x \rVert \notag
\end{align}
所以再算出的解与精确解之间的相对误差就有界限
\begin{align}
\frac{\lVert x-\hat{x} \rVert}{\lVert x \rVert } \leqslant \kappa(A) \frac{\lVert r \rVert}{\lVert b \rVert}
\end{align}
其中用来计算条件数 \(\kappa(A)\) 的矩阵范数与向量范数 \(\lVert \cdot \rVert\) 是相容的. 对于一个良态的问题,解的相对误差与剩余向量的相对误差有同样的阶. 然而,对于一个病态的问题,产生很小剩余所计算出的解与它的精确解仍有可能相差甚远.
矩阵范数误差界限的一个共同特征是它们的保守性:即使实际误差很小,上界也可能很大. 然而,如果一个有中等大小元素的中等大小的矩阵有很大的条件数,对么 \(A^{-1}\) 必定有一些大的元素,因而最好对下面的原因保持极大的关注.
如果 \(Ax=b\),又如果我们令 \(C=[c_{ij}]=A^{-1}\),那么对恒等式 \(x=Cb\) 关于元素 \(b_j\) 微分就给出恒等式
\begin{align} \label{e11}
\frac{\partial x_i}{\partial b_j}=c_{ij},\quad i,j=1,\cdots,n
\end{align}
此外,如果我们把 \(C=A^{-1}\) 看成是 \(A\) 的函数,那么它的元素正好是 \(A\) 的元素的有理函数,从而也是可微的. 恒等式 \(CA=I\) 意味着对所有 \(i,q=1,\cdots,n\) 都有 \(\Sigma_{p=1}^{n}c_{ip}a_{pq}=\delta_{iq}\),从而有
\begin{align}
\Sigma_{p=1}^n\left( \frac{\partial c_{ip}}{\partial a_{jk}} + \delta_{pq,jk}c_{ip} \right) = \Sigma_{p=1}^n \frac{\partial c_{ip}}{\partial a_{jk}}a_{pq}+\delta_{qk}c_{ij} =0 \notag
\end{align}
这也就是
\begin{align}
\Sigma_{p=1}^n \frac{\partial c_{ip}}{\partial a_{jk}}a_{pk}=-\delta_{qk}c_{ij} ,\quad i,j,k=1,\cdots,n \notag
\end{align}
现在对恒等式 \(x=Cb\) 关于 \(a_{jk}\) 微分得到
\begin{align}
\frac{\partial x_i}{\partial a_{jk}} &= \Sigma_{p=1}^n \frac{\partial c_{ip}}{\partial a_{jk}} b_p = \Sigma_{p=1}^n \Sigma_{q=1}^n \frac{\partial c_{ip}}{\partial a_{jk}}a_{pq}x_q \notag \\
&=\Sigma_{q=1}^n \left( \Sigma_{p=1}^n \frac{\partial c_{ip}}{\partial a_{jk}}a_{pq} \right) x_q = \Sigma_{q=1}^n (-\delta_{qk}c_{ij})x_q = -c_{ij}x_k \notag
\end{align}
这就是恒等式
\begin{align} \label{e12}
\frac{\partial x_i}{\partial a_{jk}}=-c_{ij}\Sigma_{p=1}^nc_{kp}b_p ,\quad i,j=1,\cdots,n
\end{align}
从而 \ref{e11} 以及 \ref{e12} 提醒我们:如果 \(C=A^{-1}\) 有任何相对来说比较大的元素,那么解 \(x\) 的某个元素对于 \(b\) 以及 \(A\) 的某些元素的摄动可能就会有很大且不可避免的敏感度.
应该知道什么
- 只要条件数 \(\kappa(A)\) 不大,那么矩阵逆的相对误差与数据的相对误差有同样的阶
- 如果线性方程组中的系数矩阵是良态的,那么关于解的相对误差与关于数据的相对误差有相同的阶