方程组的直接解法和迭代法 python_数据与算法总结——基本数值算法2(线性方程组)...

d736e0329b0a5b2418cfd64ea53a515f.png

4 基本数值算法

4.2 线性方程组

4.2.1 线性方程组的特性

解的存在性和唯一性

满足下面条件之一,A非奇异,可逆:

如果b属于A的列向量张成的空间,则称方程组是相容的。

范数需要满足次可加性(三角不等式)。

对于n维矢量x,可以定义p范数,p为大于0的整数:

。所以1范数为相加,2范数为平方和开根,
范数为最大的x。

定义矩阵范数:

根据相应的向量范数,我们可以得到:1范数为列向量求和最大,2范数为行向量求和最大。

矩阵范数:满足这些性质:

,如果

对于任一标量

,有

对任意矢量x,有

问题的敏感性和病态性

:A的条件数

如果A奇异,则

矩阵的条件数刻画了矩阵对于非零矢量最大的延伸和压缩能力,矩阵的条件数越大,说明矩阵越接近奇异。

矩阵条件数的性质:

对于任意矩阵A,

;对于单位阵I,
;对于任意矩阵A和标量
,有
;对于任意对角阵

4.2.2 线性方程组的直接解法

主要是两种:高斯消去法和LU分解

高斯消去法主要的计算量消耗在消元过程,时间复杂度为

在消去过程中,对角线上的元素会作为除数,如果它很小,就会发生上溢从而严重影响求解精度。于是就有了一个操作叫做:列选主元。讲的是一个矩阵计算到

的时候,从
向下看,找到一个最大的家伙,然后把那一行整个搬过来,把这一行搬过去,于是就很好的控制了上溢的问题。用时间换精度。

然后LU分解在线性代数里面已经学过了,这里就不再说了......

线性方程组解的精度

残差向量:

解为
,定义残差向量:
。有

当A为良态时,小的相对残差意味着解的相对误差也小。A如果病态,稳定的算法可以得到小的残差,但解的精度不一定高。

高斯-约当法:把A变成一个对角阵。

乔列斯基分解:如果A是对称正定阵则可以使用。

,L为下三角阵。

4.2.3 线性方程组的迭代解法

迭代求解:直接解法的时间复杂度都是

,迭代运算复杂度不超过
,其中k为迭代步数。

不动点迭代

,定义谱半径
为矩阵M所有特征值的最大值。

如果

,则不动点迭代收敛。

分裂A是实现不动点迭代的基本方法,令

,得到
,得到不动点迭代的形式:

,当
时,收敛

雅可比方法

,D为对角阵,L和U为严格的上三角阵和下三角阵。

,带入迭代式:

高斯-赛德方法

,D为对角阵,L和U为严格的上三角阵和下三角阵。

,带入迭代式:

高斯-赛德方法能够及时利用更新过的分量参与下一步计算,因此收敛速度要比雅可比大约快一倍,但这两种方法收敛通常很慢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值