条件数:逆矩阵与线性方程组
將學習到什么
作為矩陣以及向量范數的一個應用,我們來考慮在計算矩陣以及計算線性方程組的解時界定誤差限這個問題.
?
逆矩陣
?
如果求一個給定的非奇異矩陣 \(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^{-1} \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^{-1} \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^{-1} \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^{-1} \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)\) 不大,那么矩陣逆的相對誤差與數據的相對誤差有同樣的階
- 如果線性方程組中的系數矩陣是良態的,那么關于解的相對誤差與關于數據的相對誤差有相同的階
轉載于:https://www.cnblogs.com/zhoukui/p/8150184.html
總結
以上是生活随笔為你收集整理的条件数:逆矩阵与线性方程组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实现一个 WPF 版本的 Connect
- 下一篇: docker 2375 vulnerab