2.6 条件数与病态方程组

注: 仅由 b引起的解的相对误差限可大致认为是 原始扰动的相对误差的倍数,倍数近似等于条件数。
例如: Hilbert矩阵就是一个著名的病态矩阵
1
1
2 1
2
1
1
3
4
1
n
1
Hn
1
n
3
1
( n 1)
n
1
( n 1)
4
1
( n 2)
6
1
8
对 称 正 定 矩 阵
(2n 1)
10
cond1 ( H ) cond2 ( H ) cond ( H )
2.6.2 矩阵的预处理
常用的几种判定方程组为病态的经验方法 当 det( A) 相对来说很小时,或者矩阵A 的某些
行(列)近似线性相关时,可能为病态;
矩阵在采用选主元消去法求解方程组时,在消
元过程中出现很小的主元,可能为病态;
解方程组得到了一个很大的解,或者特征值相差大
数量级,可能为病态;
当系数矩阵的元素间数量级相差很大,且无一定
规则时,可能为病态。
求解病态方程组时,常用的几种处理原则 采用高精度的算术运算; 采用预处理方法;
Ax b PAQQ x Pb Ax b
其中
1
A PAQ; x Q x; b Pb
1
可逆矩阵P 和 Q的选择要求满足:
cond ( PAQ )
cond ( A)
采用某些特殊的数值方法求解; 重新寻找出现病态的原因,改变原问题的提法。
1 4 3 T 精确解为 x ( 2 10) 0.0001 0 0.0002
上例说明该方程组的解对初始元素的扰动非常敏感。 设方程组为
Ax b
系数矩阵 A 和常数方程组为
( A A) x (b b)
Def 2.6设 A R 为可逆阵,则称 ( A) A A 为矩阵 A(或者相应方程组)的条件数.
n n
1
若矩阵范数取2-范数,则得到谱条件数:
2 ( A) A
2
A
1 2
若矩阵范数取1-范数,则得到1-条件数:
若矩阵范数取 -范数,则得到 -条件数
1 ( A) A 1 A
1 1
( A) A A
1

定理 设 A R 为可逆阵,x 和 x x 分别满 足方程组 Ax b 和 ( A A)( x x ) b b
n n
其中 b 则
0 ,且 A
满足
A
1
A 1
|| x || || x ||
§2.6 条件数与病态方程组
2.6.1 矩阵的条件数
初始数据误差和方程组的近似解的误差之间关系
例1 考察方程组:
精确解为

1 x1 4 3.0001 1 x 4.0001 2 3
T
x (1 1)
设方程组存在扰动
1 x1 4 3 2.9999 1 x 4.0002 2
|| A || || b || ( A) || A || || A || || b || 1 ( A) || A ||
其中

为满足条件
I 1 的矩阵范数.
推论(补充)
在上述定理的条件下,
如果 A 0; b 0 ,则
x b ( A) x b
28375 15514 28375
2.9E+7 1. 5E+7 2.9E+7
3.39E+10 3.54E+13 1.53E+10 1.60E+13 3.39E+10 3.54E+13
若A为8阶Hilbert矩阵,解线性方程组 Ax=b, 假设真实解为x=[1,1,1,1,1,1,1,1]’
• • • • • • • • • • • • for i=1:8 for j=1:8 A(i,j)=1/(i+j-1); end end >>cond(A) ans= 1.5258e+010 >>xe=[1,1,1,1,1,1,1,1]’; >>b=A*xe; bd = b + 0.001*randn(8,1); xv = inv(A)*bd
合集下载

研究生数值分析(9)矩阵的条件数与病态线性方程组

研究生数值分析(9)矩阵的条件数与病态线性方程组
1
X A 1 b 即 X A b 于是有
③
另一方面,由①得
b A X
且 X 0
故
A 1 X b
④
由③与④有
X
X
A
1
A
b
b
⑤
表明解的相对误差不超过右端向量b
的相对误差的 A1 A 倍。
(2)仅有小扰动δ A(设 A+ δ A 仍可逆) ~ 的解为 X X X 设方程组 ( A A) X b 即
1 1 A 1 1.0001
10001 10000 A 10000 10000
1
及其逆矩阵
在行模意义下的条件数
Cond ( A) A1

A 20001 2.0001 40004
因此称方程组 x1 x2 2 x1 1.0001x2 2 为病态方程组。
x1 0.9999 x2 1.9999
②
的解为
x1 1; x2 1
它们的解变化很大,这样的方程组称为“病态”
方程组。 下面,我们给出方程组“病态”,“良态”
概念及其衡量标准,并介绍判断近似解可靠性方
法。
1 矩阵的条件数与线性方程组的性态 由于方程组AX=b系数矩阵A与右端向量b 的初始数据微小变化引起解的很大变化,这样
§3 矩阵的条件数与病态线性方程组
判断计算方法的好坏,可用算法是否稳定、 解的精确程度以及计算量、存储量的大小来衡量。 然而,同一方法用于不同问题,效果却可以相差 很远。 例如 方程组
x1 x2 2 x1 1.0001x2 2
x1 2; x2 0
①
解为

python病态方程的条件数

python病态方程的条件数

病态方程(ill-conditioned equation)是指一个数学方程在求解过程中,由于其系数矩阵的条件数非常大,导致求解过程不稳定,解的结果也容易受到误差的影响。

在Python中,可以使用NumPy库中的`cond()`函数来计算一个矩阵的条件数。

条件数的计算公式为:cond(A) = ||A|| * ||A^(-1)||,其中A是一个矩阵,A^(-1)是A的逆矩阵,||A||表示矩阵A 的范数。

以下是一个Python代码示例,演示如何计算一个矩阵的条件数:
```python
import numpy as np
# 定义一个矩阵A
A = np.array([[1, 2], [3, 4]])
# 计算矩阵A的条件数
cond_value = np.linalg.cond(A)
print("The condition number of matrix A is:", cond_value)
```
在这个例子中,我们定义了一个2x2的矩阵A,并使用`np.linalg.cond()`函数计算了矩阵A的条件数。

如果条件数非常大,说明这个方程是病态的。

对病态方程组的处理方法研究

对病态方程组的处理方法研究

对病态方程组的处理方法研究蓝醒龙(广西民族大学数学与计算机科学学院03数本2班,530006)摘 要: 对病态线性方程组解法研究是数值计算方法的一个重要研究课题。

本文分析了病态方程组的特点,介绍了几种有效的解法。

关键词: 病态线性方程组;条件数;预处理;迭代Studying The Algorithm For Solving Ill-conditionedSystem Of EquationsAbstract : Studying the algorithm for solving ill-conditioned system of equations is an important issue. This paper analyses the equations characteristic, and introduces several effective algorithms.Key words :ill-conditioned system of equations; condition number; pretreatment; iteration1 问题的提出一个线性方程组 A X b =,若右端向量b 或系数矩阵A 的微小变化就会引起方程组的解发生很大的变化,则称A X b =为病态方程组。

方程组的系数矩阵A 的条件数()1C o n d A AA -=刻画了方程组的性态,若()1C ond A ≥,则称A X b =为“病态”方程组;若()Cond A 相对较小,则称A X b =为“良态”方程组。

良态方程组用GAUSS 消去法和JACOBI 等简单的迭代法就可以得到比较好的计算解,而对于病态方程组,一般的直接法和迭代法会有较大的误差,甚至严重失真。

所以,在解方程组时,有必要先对方程组的性态进行研究,采用相应的算法,才能得到比较精确的计算解。

利用方程组的条件数来判断就是一个很好的办法。

数值分析希尔伯特病态线性方程组

数值分析希尔伯特病态线性方程组

病态线性代数方程组的求解理论的分析表明,求解病态的线性代数方程组是困难的。

考虑方程组Hx = b 的求解,其中H 为Hilbert 矩阵,n n ij h H ⨯=)(,11-+=j i h ij ,n j i ,...,2,1,=1. 估计Hilbert 矩阵2-条件数与阶数的关系;2. 选择问题的不同维数,分别用Gauss 消去法,Jacobi 迭代,GS 迭代和SOR 迭代求解,比较结果;3. 讨论病态问题求解的算法。

解: 1、取Hilbert 矩阵阶数最高分别为n=20和n=100。

采用Hilbert 矩阵的2-条件数作为实验的比较对象,画出的曲线如下图所示:lg(())n cond H n从图中可以看出,在n ≤13之前,图像接近直线,在n >13之后,图像趋于平缓,在一定的范围内上下波动。

为了比较图像的线性部分,作出一条直线与已知曲线进行比较。

比较直线的关系式为:833.1519.1))(lg(-=n H cond n ,结果下图所示。

nl g (c o n d (H n ))lg(cond(Hn))~n 关系图从图2中可以看出,当n 较小时,n H cond n ~))(lg(之间近似满足线性关系。

当n 继续增大到100时,n H cond n ~))(lg(关系图下图所示:从图中可以看出,图像的走势符合在n=20时的猜想,在n 大于一定的值之后,图像趋于平缓,且在一定范围内震荡,同时又有一定上升趋势,但上升速度很慢。

2、选择不同的阶数n ,设方程组的精确解为xz=(1,1,…,1)T进行计算,用四种方法解x_Guass1、x_Jacobi1、x_GS1、x_SOR1对比表如下nl g (c o n d (H n ))lg(cond(Hn))~n关系图nl g (c o n d (H n ))lg(cond(Hn))~n 关系图表所示。

Gauss 消去法求解:选择问题的阶数为3~8时,用Gauss 消去法求得的解与精确解一致,当阶数为9~14时,解开始出现偏差,而且n 越大,偏差越大。

2范数和条件数病态方程组

2范数和条件数病态方程组

由于
( I A)( I A)1 I ( I A)1 A( I A)1 I
( I A)1 I A( I A)1
在最后一式两端取范数,得
( I A) 1 I A ( I A) 1
1 A

( I A) 1 I 1.
练习:计算矩阵
1 2 A 3 4 的各种范数.
答案 : 6,7, 15 221 , 30
§2.3 矩阵的条件数与病态线性方程组
2.3.1
矩阵的条件数与线性方程组的性态
给定线性方程组 Ax =b,现在考察,系数矩阵 A 和常数列 b 有了微小变化 △A,△b ,它如何影 响解向量 x,即,解向量 x 的变化量 △x 何样? 由于A (或 b)的元素是测量得到的,或者是 计算的结果,在前种情况下, A (或 b)常常带有 某些观测误差,在后种情况下, A (或 b)包含舍 入误差,因此我们处理的实际矩阵是A + △A (或 b+ △b )。
n×n矩阵 A,式(1.2)中定义的函数是一种矩阵范 数,并且它与给定的向量范数是相容的.
A max Ax
单位球上的 最大像值
x 1
(1.2)
证明 先证相容性. 对任意的n×n矩阵A和n维非零向
量 y. 由于
y 1 max Ax A Ay . x 1 y y
所以有
Ay y max Ax y A ,
考察方程组 Ax = b, 当 A 或 b 有微小扰动时, 对解的影响, 首先看一个例子:
1 x1 2 1 , 1 1.0001 x2 2 1 x1 2 1 x 1 1.0001 2.0001 2

条件数:线性代数中的条件性质与计算

条件数:线性代数中的条件性质与计算

条件数在矩阵分解中的应用
条件数在矩阵分解中的应用
• 可以使用条件数来评估矩阵分解问题 的稳定性与可靠性 • 可以使用条件数来调整矩阵分解问题 的算法参数,提高问题的求解效率
条件数在矩阵分解中的应用示例
• 可以使用条件数来评估矩阵分解问题 的解的稳定性与可靠性 • 可以使用条件数来调整矩阵分解问题 的算法参数,提高问题的求解效率
条件数的定义
• 对于一个非奇异矩阵A,条件数cond(A)定义为:|A| / |A^(-1)|,其中|A|表示矩阵A的行列式, |A^(-1)|表示矩阵A的逆矩阵的行列式 • 如果矩阵A是可逆的,那么条件数cond(A)等于1 • 如果矩阵A是奇异的,那么条件数cond(A)大于1
条件数的计算方法与示例
• 行向量 • 列向量 • 矩阵 • 线性方程组 • 特征值与特征向量 • 对角矩阵
• 条件数是衡量线性方程组解的稳 定性与可靠性的指标 • 条件数可以用来分析线性方程组 的病态性 • 条件数在计算机科学、工程学等 领域有重要应用
条件数的定义与性质
条件数的性质
• 条件数具有非负性,即cond(A) >= 0 • 对于任意非奇异矩阵A和B,有cond(AB) <= cond(A) * cond(B) • 对于任意非奇异矩阵A,有cond(A^T) = cond(A) • 对于任意非奇异矩阵A和B,有cond(A + B) <= cond(A) + cond(B)
条件数:线性代数中的条件性质与计算
01
线性代数的基本概念与条件数定义
线性代数的基本概念及应用背景
线性代数是研究向量、矩阵及其运算 的数学分支
线性代数的基本概念
条件数的定义与条件数 的应用背景

扰动误差分析

第2章 线性代数方程组数值解法I :直接法考虑方程组 b Ax = (n n R A ⨯∈非奇异,n R b ∈ 且0≠b ) (2.6.1) 设A 有误差 b A ,δ有误差b δ,则因此引起解x 有误差,即有扰动方程组 b b x x A A δδδ+=++))((现在来研究如何通过A δ和b δ对x δ的影响作出估计。

定理2.6.1 设 方程组(2.6.1)中b A ,分别有扰动A δ,b δ,因而解向量有误差x δ;又A δ足够小,使得 11<-A A ,则有误差估计式 )(111bbAAAAA A xxδδδδ+-≤--证明由 b x A x A x A δδδδδ=++))(()( ))(()(111x A A x A A b A x δδδδδ-----= 两边取范数有x A A x A A b A x δδδδδ111---++≤得到x A A b A x A A x δδδδδ111---+≤- )()1(11x A b A x A A δδδδ+≤--- 得到 )(111x A b AAA x δδδδ+-≤--又注意到b Ax =有 b x A ≥ 从而得到bA x ≤1,故上述不等式左边乘以x 1,右边圆括号第一项乘以x 1,第二项乘以bA ,并从括号中提出A ,则得(2.6.3) 定理的结果实际包含两种特殊情形: (1)A 精确,即 0=A δ,b 有扰动b δ,从而b b x x A δδ+=+)(bbAA xxδδ1-≤(2) A 有扰动A δ,b 精确,即0=b δ,这时b x x A A =++))((δδAAA AA A xxδδδ111---≤当A A δ1-很小时,上式可近似表示为AAAA xxδδ1-≈2.条件数与病态方程组定义 2.6.1 设A 为非奇异矩阵,称数A A 1- 即 A A A cond 1)(-= 为矩阵A 的条件数。

矩阵A 的条件数的一些基本性质: (1) 任何非奇异矩阵A ,对任一算子范数均有1)(≥A cond )()(1-=A cond A cond )()(A cond A cond =α(2) 根据定义 )(max 2A A A T λ= ,可得 )()()(min max 2212A A A A A AA cond T T λλ==-(3) 若 U 为正交阵,即I UU T =,则 1)(2=U cond又A 非奇异,则222)()()(UA cond AU cond A cond == (4)设 1λ与n λ为A 按模最大和最小的特征值,则nA cond λλ1)(≥特别地,若T A A =(即A 对称),则nA cond λλ1)(=若A 对称正定,则 nA cond λλ12)(=证明 略定理 2.6.2 (事后误差估计)设方程组 b Ax =,A 非奇异,0≠b ,x 是精确解,-x 是近似解,剩余向量 --=x A b r ,则有估计式 br A cond xx x b r A cond )()(1≤-≤-证明:因b Ax =,得 )(----=-=-=x x A x A Ax x A b r ,从而r A x x 1--=-,于是r A x x 1--≤-,又由bA x ≤1,于是得估计式右端br A cond bA rA xxx )(1=≤---类似地,由上述 )(--=x x A r ,得--≤x x A r ,或--≤x x Ar ,由 b A x 1-=得b A x 1-≤,综合两式得估计式两端xx x bA A r b r A cond ---≤≤1)(1例 2.6.13.事后误差估计定理 2.6.2 设方程组b≠b,x是精确解,-xAx=,A非奇异,A非奇异,0是近似解,剩余向量-br,则有估计式=xA-例题讲解2例题2.1 对方程组Ax =b, A非奇异不一定能作顺序G auss 消去过程,或者说,A 非奇异不一定有LU 分解。

2.6 追赶法

第16讲 追赶法、误差分析在实际应用问题中,经常会遇到解三对角线方程组。

例如:用三次样条函数的插值问题中得到的三转弯及三弯矩方程组,当时说可用追赶法来求解。

还有用差分法解二阶线性常微分方程边值问题,若用三点插值格式也得到解三对角线方程组,本节介绍该类方程组中的特例及该种方程组的解法:追赶法。

优点:1.计算量小。

2.方法简单,存贮量小。

3.数值稳定的(对舍入误差来说)。

1 追赶法三对角线方程组的一般表示方法:可见,对A 的分解只需求i i u l ,且按n n n l u l u l u l −→−−→−−→−−→−−→−−→−−→−--112211.....的递推过程进行,形象地称为“追”的过程⎩⎨⎧=-==-),....2(/)(/1111n i l y a f y l f y i i i i ⎩⎨⎧-=-==+)1,2,.....1(1n i x u y x y x i i i inn 形象地称回代求解过程为“赶”的过程追赶法的计算量为5n-4次乘除法,可用4个 一 维数组存放{}{}{}{}i i i i f c b a ,,,。

共占用4n-2个单元,在计算过程中{}{}{}i i i y u l ,,依次覆盖掉{}{}{}i i i f c b ,,最后,{}i x 覆盖掉{}i y ,所以,追赶法具有计算量小,占用内存单元少的特点。

2、误差分析⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛=-n n l u u u U 121....111⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛=n nl a l a l a l L ....33221)1,...,3,2,1(-=n i ⎪⎩⎪⎨⎧+===+++11111i i i i ii i lu a b u l c l b ⎪⎩⎪⎨⎧-===+++i i i i ii i ua b l l c u b l 11111/)1,...,3,2,1(-=n i病态方程组与条件数一个线性方程组Ax=b 是由它的系数矩阵A 和它的右端项b 所确定,在实际问题中,由于各种原因,A 或b 往往有误差,从而使得解也产生误差。

病态线性方程组的求解

安徽工业大学数理科学与工程学院病态线性方程组的求解专业数学与应用数学班级数***班学号*******姓名 ***指导教师***二○一五年五月一、设计目的:为了更加透彻的熟悉数值分析课程,学习各种数学软件的使用,锻炼自己对知识的实际运用能力。

二、引言:用直接法求解AX=F 线性方程组,对于系数矩阵A 对角占优是很有效的。

方程阶数不高时,人们经常使用;而当方程组阶数大时,由于积累误差,导致结果失真。

为了克服误差积累问题,通常用迭代法。

它具有可达到所要求的精度和对计算内存要求不大的优点,对求解大型线性方程组,迭代法计算时间远比直接法少,所以在实际计算中,迭代法也被人们广泛使用。

然而迭代法要研究迭代格式的收敛性,如Jacobi 迭代对系数矩阵为病态矩阵不收敛,为此我们提供一种修改的Jacobi 迭代,并给出一些数值例子来说明有较好的效果。

三、解线性方程组迭代法的描述设线性方程组AX=P ,这里A:{a ij },X:{x i },F:{f i },1≤i,j ≤n,为了更广泛地应用,对A 只限制实的非奇异矩阵,那么,若给定初值x )0(,我们熟知的有: Jacobi 迭代:x )1(+k i=(f i -∑njk j ij x a )()/a ii j i ≠, 1≤i ≤n四、求解病态线性方程组的另一种迭代解法设线性方程BX=F, 这里系数矩阵B 是病态的,指的是矩阵条件数是较大的。

条件数越大,就越难求得准确解,为此,我们将方程的两端同加DX 项,那 么相应的Jacobi 迭代有:X ])([)()(1)1(k k X H D F A D -++=-+ (1)这里,A 为B 的对角阵,即A: {b ii },H:{b ij } j i ≠ 1≤i,j ≤n,记M= )()(1H D A D -+-,)()1()(k k k X X X -=∆+,那么有:)0()1()(X M X M X k k k ∆==∆=∆-Λ由此可见(1)式收敛,迭代矩阵M 的谱半径应满足p(M )<1,谱半径若用M 的特征值判断,则较为繁锁;若B 不可约,根据线性代数对角占优简单迭代必收敛的性质,为简单起见,我们取D 为对角线阵,即D: {d i },为保证收敛就得取d i =Sign{∑jii ij b b |,|},符号Sign{a,b}的含义是与b 同号,数值取a,这是充分条件,实际计算中有时可放宽处理,比如可取d i =Sign{ii ij ijb b Max |,|}或者d i =Sign{ii ij jb b Max |,|} j i ≠,因而相应的Jacobi 迭代修改为:x )1(+k i =(f i -∑≠+ij k i i k j ij x d x b )()()/(b ii +d i ) (2)下面列举普通Jacobi 迭代不收敛,解不出正确结果,而用修改的Jacobi 迭代可求出满意结果的例子:例 1:A=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--211111112 F=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--032 精确解为X=[]T 111---,普通Jacobi 迭代不收敛,取d i =Sign{ii ij ja a Max |,|} j i ≠, 1≤i,j ≤3用(2)式迭代40步,X=[]T000003.1000053.1000035.1---例 2:方程系数为Hilbert 阵H:{)1/(1-+=j i h ij } F:{∑=jij i h f } 1≤i,j ≤n精确解X=[]T 111Λ,普通Jacobi 迭代发散,取d i =Sign{∑jii ij h h |,|}用修改的(2)式迭代,n=1200时迭代10870步结果摘录如下:五、结论与问题以上数值试验表明该迭代算法对求解病态线性方程组是有效的,其优点是可达到预定的精度。

《数值计算方法》课程教学大纲

《数值计算方法》课程教学大纲一、课程基本信息二、课程教学目标数值计算方法是大规模科学模拟计算领域的一门重要的基础课,具有很强的应用性。

通过对本课程的学习及上机实习,使学生掌握掌握数值计算的基本概念、基本方法及其原理,培养应用计算机从事科学与工程计算的能力。

具体能力目标如下:具有应用计算机进行科学与工程计算的能力;具有算法设计和理论分析能力;熟练掌握并使用数学软件,处理海量数据,进行大型数值计算的能力。

三、教学学时分配《数值计算方法》课程理论教学学时分配表《数值计算方法》课程实验内容设置与教学要求一览表四、教学内容和教学要求第一章数值分析与科学计算引论(4学时)(一)教学要求1.了解误差的来源以及舍入误差、截断误差的定义;2.理解并掌握绝对误差、相对误差、误差限和有效数字的定义和相互关系;3.了解函数计算的误差估计,误差传播、积累带来的危害和提高计算稳定性的一般规律。

(二)教学重点与难点教学重点:误差理论的基本概念教学难点:误差限和有效数字的相互关系,误差在近似值运算中的传播(三)教学内容第一节数值分析的对象、作用与特点1.数学科学与数值分析2.计算数学与科学计算3. 计算方法与计算机4. 数值问题与算法第二节数值计算的误差1.误差的来源与分类2.误差与有效数字3. 数值运算的误差估计第三节误差定性分析与避免误差危害1.算法的数值稳定2.病态问题与条件数3. 避免误差危害第四节数值计算中算法设计的技术1.多项式求值的秦九韶算法2.迭代法与开方求值本章习题要点:要求学生完成作业10-15题。

其中概念题15%,证明题5%,计算题60%,上机题20%第二章插值法(12学时)(一)教学要求1.掌握插值多项式存在唯一性条件;2.熟练掌握Lagrange插值多项式及其余项表达式,掌握基函数及其性质;3.能熟练使用均差表和差分表构造Newton插值公式;4.能理解高次插值的不稳定性并熟练掌握各种分段插值中插值点和分段的对应关系;5.熟练掌握三次样条插值的条件并能构造第一和第二边界条件下的三次样条插值。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档