防灾数学分享 http://blog.sciencenet.cn/u/fzmath 防灾科技学院数学教研室

博文

方程组性态与条件数

已有 7063 次阅读 2016-10-17 13:13 |个人分类:教学辅导|系统分类:教学心得| 方程组, 条件数


对于线性方程组

$$\boldsymbol{A{}x} = \boldsymbol{b},$$

其中,$\boldsymbol{A}\in \mathbb{R}^{n\times n}$ 非奇异,$\boldsymbol{b}\in \mathbb{R}^{n}$, 且 $\boldsymbol{b}\ne \boldsymbol{0}$.

由于,$\boldsymbol{A}$,$\boldsymbol{b}$ 通常由测量或者计算得到,或多或少总有误差,即有扰动,从而导致得不到精确解 $\boldsymbol{x}$。有时情况非常糟糕,即 $\boldsymbol{A}$,$\boldsymbol{b}$ 仅有微小的扰动,但方程组的解 $\boldsymbol{x}$ 却发生很大的变化。

比较下面两个方程组的解,并作进一步说明。

(1)解为 $\boldsymbol{x}=[1,1]^T$.

$\begin{bmatrix} 2&6\\ 2 &6.00001 \end{bmatrix} \begin{bmatrix} x_1\\ x_2 \end{bmatrix}= \begin{bmatrix} 8\\ 8.00001 \end{bmatrix}$

(2)解为 $\boldsymbol{x}=[10,-2]^T$.

$\begin{bmatrix} 2&6\\ 2 &5.99999 \end{bmatrix} \begin{bmatrix} x_1\\ x_2 \end{bmatrix}= \begin{bmatrix} 8\\ 8.00002 \end{bmatrix}$


“病态”方程组

若 $\boldsymbol{A}$ 与 $\boldsymbol{b}$ 的微小变化,引起线性方程组 $\boldsymbol{A{}x}=\boldsymbol{b}$ 的解的很大变化,则称此方程组为“病态”方程组(称 $\boldsymbol{A}$ 为病态矩阵),否则称为良态方程组(称 $\boldsymbol{A}$ 为良态矩阵)。


应该注意,这种病态性质是方程组(矩阵)本身的固有性质,与求解方法无关,也就是说,对于病态方程组,即使用最好的数值方法求解也徒劳无功。

方程组病态或良态可用\textbf{条件数}来刻画。设线性方程组 $\boldsymbol{Ax}=\boldsymbol{b}$ 的扰动方程组为

        $(\textbfsymbol{A}+\delta\textbfsymbol{A})(\textbfsymbol{x}+\delta\textbfsymbol{x}) = \textbfsymbol{b}+\delta\textbfsymbol{b},$

即 $\boldsymbol{A}$ 有误差 $\delta\boldsymbol{A}$, $\boldsymbol{b}$ 有误差 $\delta\boldsymbol{b}$,从而引起 $\boldsymbol{x}$ 有误差$\delta \boldsymbol{x}$.


相对误差

称 $\cfrac{\|\delta \boldsymbol{x}\|}{\|\boldsymbol{x}\|}$, $\cfrac{\|\delta\boldsymbol{A}\|}{\| \boldsymbol{A}\|}$, $\cfrac{\|\delta\boldsymbol{b}\|}{\|\boldsymbol{b}\|}$ 分别为解向量$\boldsymbol{x}$ ,系数矩阵~$\boldsymbol{A}$,右端向量 $\boldsymbol{b}$ 的相对误差(相对扰动).

设方程组~$\boldsymbol{A{}x} = \boldsymbol{b}$ 中的~$\boldsymbol{A}$,$\boldsymbol{b}$分别有扰动$\delta\boldsymbol{A}$,$\delta\boldsymbol{b}$,因而~$\boldsymbol{x}$ 有误差$\delta \boldsymbol{x}$ ,又 $\delta\boldsymbol{A}$ 足够小,使得$\|\boldsymbol{A}^{-1}\| \|\boldsymbol{A}\|<1$,则有误差估计式

      $\cfrac{\|\delta \textbfsymbol{x}\|}{\|\textbfsymbol{x}\|}\leqslant \cfrac{\|\textbfsymbol{A}^{-1}\| \|\textbfsymbol{A}\|}{1-\|\textbfsymbol{A}^{-1}\| \|\textbfsymbol{A}\|\cfrac{\|\delta\textbfsymbol{A}\|}{\| \textbfsymbol{A}\|}} \left( \cfrac{\|\delta\textbfsymbol{A}\|}{\| \textbfsymbol{A}\|}+\cfrac{\|\delta\textbfsymbol{b}\|}{\|\textbfsymbol{b}\|} \right)$

(1)  $\boldsymbol{A}$ 精确时,即 $\delta\boldsymbol{A} = \boldsymbol{0}_{n\times n}$, $\|\delta\boldsymbol{A}\|=0$,  变为

                  $\cfrac{\|\delta \textbfsymbol{x}\|}{\|\textbfsymbol{x}\|}\leqslant \|\textbfsymbol{A}^{-1}\| \|\textbfsymbol{A}\| \cfrac{\|\delta\textbfsymbol{b}\|}{\|\textbfsymbol{b}\|}$

(2) $\boldsymbol{b}$ 精确时,即 $\delta\boldsymbol{b} = \boldsymbol{0}_{n\times1}$, $\|\delta\boldsymbol{b}\|=0$, 变为

                    $\cfrac{\|\delta \textbfsymbol{x}\|}{\|\textbfsymbol{x}\|}\leqslant \cfrac{\|\textbfsymbol{A}^{-1}\| \|\textbfsymbol{A}\|}{1-\|\textbfsymbol{A}^{-1}\| \|\textbfsymbol{A}\|\cfrac{\|\delta\textbfsymbol{A}\|}{\| \textbfsymbol{A}\|}} \cfrac{\|\delta\textbfsymbol{A}\|}{\| \textbfsymbol{A}\|}$

(3)由上式可以看出,解$\boldsymbol{x}$ 的相对误差有可能被放大到右端向量 $\boldsymbol{b}$ 的相对误差的 $\|\boldsymbol{A}^{-1}\| \|\boldsymbol{A}\|$ 倍。而上面三式均表明,量 $\|\boldsymbol{A}^{-1}\| \|\boldsymbol{A}\|$ 越小,误差就越小,它实际上刻画了解 $\boldsymbol{x}$ 对 $\boldsymbol{A,b}$ 扰动的敏感程度,即方程组的“病态”程度,引进下述定义。

 条件数

设 $\boldsymbol{A}$ 为非奇异矩阵,称 $\|\boldsymbol{A}^{-1}\| \|\boldsymbol{A}\|$ 为矩阵 $\boldsymbol{A}$ 的条件数。

 注:

(1) 条件数越大,方程组(矩阵$\boldsymbol{A}$ )的病态程度越严重。

(2) 条件数与所取得的范数有关, 最常用的是 $\mathbf{cond}(\boldsymbol{A})_\infty$,$\mathbf{cond}(\boldsymbol{A})_2$

和 $\mathbf{cond}(\boldsymbol{A})_1$。

(3)条件数计算复杂,可用软件MATLAB直接计算。




https://wap.sciencenet.cn/blog-292361-1009246.html

上一篇:Cholesky(乔累斯基)分解与求解对阵正定方程组 Ax= b 的平方根法
下一篇:Jacobi 迭代法解线性方程组 A x = b 及其MATLAB编程实现
收藏 IP: 124.238.132.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-20 14:17

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部