python的史蒂芬加速迭代法_Jacobi迭代法的python实现

本文介绍了使用Python实现Jacobi迭代法求解线性方程组的过程,详细讲解了算法的步骤,并给出了具体代码示例。通过将矩阵A分解为D-L-U,设定初始值并迭代,直到达到预设的误差限。
摘要由CSDN通过智能技术生成

设有线性方程组Ax=b,其中n阶矩阵A=(aij)使非奇异矩阵

将A分解为A=M-N,因而Mx=Nx+b,求解Ax=b转化为求解x=M的逆Nx+M的逆b

可构造一阶梯定常迭代法x(k+1)=Bx(k)+f

令A=D-L-U,其中D是有A的主对角元组成的对角矩阵,L是A的下三角矩阵每一行乘以-1,U是A的上三角矩阵每一行乘以-1

Jacobi迭代法中,令M=D,A=D-N,因而B=M的逆N=M的逆(M-A)=D的逆*(L+U)

f=D的逆b

确定初值x0,开始迭代

若x最终收敛于x,则线性方程组有解x*,否则无解

确定需要的绝对误差限或相对误差限e,确定相应的迭代次数

下面给出一个例子

矩阵A

10.0 3.0 1.0

2.0 -10.0 3.0

1.0 3.0 10.0

b=(14.0,-5.0,14.0)’

要求绝对误差限e=0.00001即精确到小数点后5位

代码如下

# -*- coding: utf-8 -*-

"""

Created on Wed Feb 13 08:09:46 2019

@author: 鹰皇

"""

#jacobi迭代法

import numpy as np

A=[[10.0,3.0,1.0],[2.0,-10.0,3.0],[1.0,3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值