条件数:逆矩阵与线性方程组

将学习到什么

作为矩阵以及向量范数的一个应用,我们来考虑在计算矩阵以及计算线性方程组的解时界定误差限这个问题.

?


逆矩阵

?
如果求一个给定的非奇异矩阵 \(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\) 是非奇异的.
?
计算 \(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 = \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}} \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}} \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}} \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\),方程组即为
\beign{align}
(A+\Delta A)\tilde{x} &= (A+\Delta A)(x+Dx)=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} 以及相容性,我们就有
\beign{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}
从而
\beign{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\),我们就得到
\beign{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},我们就得到较弱的然而更加明晰的界
\beign{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\) 的某些元素的摄动可能就会有很大且不可避免的敏感度.
?


## 应该知道什么

原文地址:https://www.cnblogs.com/zhoukui/p/8150184.html

时间: 2024-08-01 21:17:59

条件数:逆矩阵与线性方程组的相关文章

预处理方法

数据预处理在众多深度学习算法中都起着重要作用,实际情况中,将数据做归一化和白化处理后,很多算法能够发挥最佳效果.当我们开始处理数据时,首先要做的事是观察数据并获知其特性.本部分将介绍一些通用的技术,在实际中应该针对具体数据选择合适的预处理技术.例如一种标准的预处理方法是对每一个数据点都减去它的均值(也被称为移除直流分量,局部均值消减,消减归一化),这一方法对诸如自然图像这类数据是有效的,但对非平稳的数据则不然. 数据归一化 简单缩放 在简单缩放中,我们的目的是通过对数据的每一个维度的值进行重新调

【转载】--主成分分析PCA

降维的必要性 1.多重共线性--预测变量之间相互关联.多重共线性会导致解空间的不稳定,从而可能导致结果的不连贯. 2.高维空间本身具有稀疏性.一维正态分布有68%的值落于正负标准差之间,而在十维空间上只有0.02%. 3.过多的变量会妨碍查找规律的建立. 4.仅在变量层面上分析可能会忽略变量之间的潜在联系.例如几个预测变量可能落入仅反映数据某一方面特征的一个组内. 降维的目的: 1.减少预测变量的个数 2.确保这些变量是相互独立的 3.提供一个框架来解释结果 降维的方法有:主成分分析.因子分析.

选主元的高斯-约旦(Gauss-Jordan)消元法解线性方程组/求逆矩阵

做数据结构课设时候查的资料,主要是看求逆矩阵方面的知识的. 选主元的高斯-约当(Gauss-Jordan)消元法在很多地方都会用到,例如求一个矩阵的逆矩阵.解线性方程组(插一句:LM算法求解的一个步骤),等等.它的速度不是最快的,但是它非常稳定(来自网上的定义:一个计算方法,如果在使用此方法的计算过程中,舍入误差得到控制,对计算结果影响较小,称此方法为数值稳定的),同时它的求解过程也比较清晰明了,因而人们使用较多.下面我就用一个例子来告诉你Gauss-Jordan法的求解过程吧.顺便再提及一些注

[Matlab]求解线性方程组

转自:http://silencethinking.blog.163.com/blog/static/911490562008928105813169/ AX=B或XA=B在MATLAB中,求解线性方程组时,主要采用前面章节介绍的除法运算符“/”和“\”.如: X=A\B表示求矩阵方程AX=B的解: X=B/A表示矩阵方程XA=B的解. 对方程组X=A\B,要求A和B用相同的行数,X和B有相同的列数,它的行数等于矩阵A的列数,方程X=B/A同理. 如果矩阵A不是方阵,其维数是m×n,则有: m=

线性方程组的迭代解法数值结果分析

纸上得来终觉浅,绝知此事要躬行. ----(宋)陆游 在使用有限差分法的五点格式求解偏微分方程组时,把问题转化为求解数量级从10直到为10^4个未知数的稀疏矩阵的线性方程组,然后使用了Jocobi迭代,G-S迭代,SOR迭代以及CG迭代求解. 不管从程序的运行时间还是结果精度来看,SOR迭代和CG迭代较另外两种迭代法占优,而数值结果显示SOR迭代和CG迭代的收敛速度基本相当(后者稍微占优一点儿),这和理论的推导结果吻合地很好. 从程序使用的内存空间考虑的话,问题变得复杂了.简言之,CG方法依旧胜

【原创】开源Math.NET基础数学类库使用(17)C#计算矩阵条件数

               本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html 开源Math.NET基础数学类库使用总目录:http://www.cnblogs.com/asxinyu/p/4329737.html 上个月对Math.NET的基本使用进行了介绍,主要内容有矩阵,向量的相关操作,解析数据格式,数值积分,数据统计,相关函数,求解线性方程组以及随机数发生器的相关内容.这个月接着深入发掘Math.NET的各种功能,并对

开源Math.NET基础数学类库使用(17)C#计算矩阵条件数

原文:[原创]开源Math.NET基础数学类库使用(17)C#计算矩阵条件数                本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html 开源Math.NET基础数学类库使用总目录:http://www.cnblogs.com/asxinyu/p/4329737.html 上个月对Math.NET的基本使用进行了介绍,主要内容有矩阵,向量的相关操作,解析数据格式,数值积分,数据统计,相关函数,求解线性方程组

线性方程组的迭代解法

简介 求解线性方程组有直接解法和迭代解法两种方法.与直接解法相比,迭代解法能够比较好地保持系数矩阵的稀疏性,在大型线性方程组的求解问题中得到了广泛应用. 比较典型的迭代算法有三种,古典迭代法.共轭梯度法和广义极小剩余(GMRES)法. 古典迭代法从系数矩阵构造(分裂)出单步迭代格式,具有算法简单的优点,但是不易收敛,速度较慢. 共轭梯度法是一种多步算法.首先利用对称正定的系数矩阵,将方程组的求解问题转换成等价的优化问题,零点解向量变成极点解向量.其次以迭代点.剩余向量和搜索方向构造迭代格式.可以

线代笔记 #07# 逆矩阵,列空间,零空间

源: 线性代数的本质 To ask the right question is harder than to answer it.   -Georg Cantor 印象中,我在视频里曾看到过这样的两句话(没有经过核实),其中一句是“向量是线性变换的载体”,另外一句是“当线性变换作用于空间······”. 之后我一直有一种误解:向量是一种“物质”,而运动变化(线性变换)必然是作用于物质之上的,不应该有脱离向量的线性变换.这种观点给我理解概念带来了一些困扰. 例如说,我反复看了好几遍才明白“列空间(