Gauss_Seidel method with python

2023-11-20

# Gauss-Seidel method with python from wikipedia 
# https://en.wikipedia.org/wiki/Gauss%E2%80%93Seidel_method

import numpy as np

iteration_limit = 1000

# initialize the matrix

A = np.array([[10., -1., 2., 0.],
              [-1., 11., -1., 3.],
              [2., -1., 10., -1.],
              [0., 3., -1., 8.]])

# initialize the RHS vector
b = np.array([6.0, 25.0, -11.0, 15.0])

print("System of equations:")
for i in range(A.shape[0]):
	row = ["{0:3g}*x{1}".format(A[i, j], j+1) for j in range(A.shape[1])]
	print("[{0}] = [{1:3g}]".format("+".join(row), b[i]))

x = np.zeros_like(b)
for it_count in range(1, iteration_limit):
	x_new = np.zeros_like(x)
	print("Iteration {0}:{1}".format(it_count, x))
	for i in range(A.shape[0]):
		s1 = np.dot(A[i, :i], x_new[:i])
		s2 = np.dot(A[i, i+1:], x[i+1:])
		x_new[i] = (b[i] - s1 - s2) / A[i, i]
	if np.allclose(x, x_new, rtol=1e-8):
		break
	x = x_new

print("Solution: {0}".format(x))
error = np.dot(A, x) - b
print("Error: {0}".format(error))

TODO: wavefront parallel method with openmp

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Gauss_Seidel method with python 的相关文章

随机推荐

  • [学C日记]---数组

    1 数组创建 int count int arr count 不行 中不能使用变量 2 数组的大小可以通过计算得到 int arr 10 int sz sizeof arr sizeof arr 0 在主函数里算 在调用函数里算时 传参的时
  • CTFSHOW-WEB详解

    CTFSHOW WEB详解 一 WEB13 文件上传 二 WEB 红包题第二弹 一 WEB13 文件上传 开始的界面就是文件上传 确定方向为文件上传漏洞分析 尝试上传文件 我上传的第一个文件是一个文本文件很小只有9个字节 就上传成功了直接
  • 数据分析---arXiv论文种类分类

    论文种类分类 4 1 任务说明 主题 论文分类 数据建模任务 利用已有数据建模 对新论文进行类别分类 内容 使用论文标题完成类别分类 4 2 数据处理步骤 在原始arxiv论文中论文都有对应的类别 而论文类别是作者填写的 在本次任务中可以借
  • 修改环境变量后,导致一些常用命令失效,如ll,ls,vi不能用

    因为一不小心将linux的环境变量修改错误 导致ll之类的常用命令都不能用 很是苦恼 通过百度查询 原来在敲命令时 敲完整的命令路径 还是可以的 原文地址 http www cnblogs com zhbsh archive 2011 05
  • 1141 二维数组的输入和输出

    题目描述 输入m行n列的二维数组的值 再按行列形式输出 输入要求 第一行输入m n代表行数和列数 接着输入具体的m n个元素 输出要求 按行列形式换行输出 每一个数据后面都有空格 一行输出完毕后换行 输入样例 2 5 1 4 6 23 1
  • Qt实现窗口关闭时提示确认退出

    Qt实现窗口关闭时提示确认退出 在Qt中 当用户点击窗口关闭按钮时 程序会直接退出 这样可能会导致数据丢失或其他不必要的操作 为了提高用户体验 我们可以在窗口关闭前给出一个提示框 询问用户是否确认退出 一 实现思路 通过重写QWidget类
  • kaggle数据集的下载

    感谢阅读本文 喜欢请收藏点赞 准备工作 1 安装kaggle库 2 注册登录kaggle账户 3 kaggle json的下载与使用 4 下载数据集 文件保存路径 准备工作 1 安装kaggle库 2 注册登录kaggle账户 点我跳转 没
  • R-INLA Project目录

    集成嵌套拉普拉斯近似法 INLA 是一种近似贝叶斯推断的方法 在过去的几年里 由于其速度和通过R INLA软件包的易用性 它已经成为马尔科夫链蒙特卡洛等其他方法的替代品 尽管INLA方法的重点是可以表达为潜伏高斯马尔可夫随机场 GMRF 的
  • SpringMVC视图解析器

    SpringMVC视图解析器 前言 在前一篇博客中讲了SpringMVC的Controller控制器 在这篇博客中将接着介绍一下SpringMVC视图解析器 当我们对SpringMVC控制的资源发起请求时 这些请求都会被SpringMVC的
  • ES: 设置默认值

    场景 XX对象的告警个数字段是数字 优先级字段是数字 排序要求 优先告警个数大 gt 小 其次优先级大 gt 小 问题 告警个数字段不存在或者值为0的情况是等价的 排序上应该是平等的 不应该存在0的大于字段不存在的 处理 对没有告警个数字段
  • Obsidian 使用 Livesync 同步数据

    Obsidian 使用 Livesync 同步数据 之前一直使用 icloud 同步我的 obsidian 笔记 同时定期使用 git 备份笔记 但是前段时间因为在 ios 上误删了一个文件夹 导致我的 icloud 桌面端和手机端的笔记不
  • Ubuntu9.04太多乱码(中文不能正常显示)

    最近在使用Ubuntu9 04的过程中 发现有好多地方都出现乱码 其实是中文不能正常显示 现在把我所遇到的所有乱码问题集中一下 方便以后查阅参考 一 Flash乱码 在终端输入 sudo gedit etc fonts conf d 49
  • linux系统安装python3.9.2

    1 下载安装包 下载地址 https www python org downloads release python 392 在这里插入图片描述 2 下载Python3编译的依赖包 yum install y gcc patch libff
  • Ajax——Ajax的同步与异步以及代码封装(jQuery)

    文章总结目录 1 Ajax的异步与同步 1 1 同步与异步概念 1 2 Ajax在代码上的实现 1 3 Ajax同步与异步使用的场景 2 Ajax代码的封装 2 1 Ajax代码封装的原因 2 2 如何实现Ajax代码的封装 2 3 Aja
  • 为啥MyBatis-Plus 分页插件不生效?

    描述 项目中用到boot 整合 mybatis plus 个人在使用分页条件查询的时候一直查不出 total pages 终于找到原因了 环境
  • 清华大学AIGC发展研究报告1.0版震撼发布!192页PPT

    来源 清元宇宙 人工智能无疑是2023年最受关注的科技热点 作为将会掀起人类再一次生产力革命的重大技术突破 人工智能受到了全球范围内各领域人士的高度关注 近日 清华大学沈阳教授团队发布了 AIGC发展研究报告1 0版 总计192页 分为技术
  • java parser .java_Stanford Parser使用之 Eclipse+java调用

    官网 Download Stanford Parser version 3 2 0 stanford parser full 2013 06 20 zip 解压缩 stanford parser full 2013 06 20 zip st
  • 信息安全期末题库

    大多数应用程序 操作系统和实用程序都用高级程序语言或汇编语言编写 所编写的程序称为源程序 源程序需经过编译 链接 装入三个阶段才能装入主存运行 逻辑地址转换为物理地址的过程称为地址重定位 包括 静态地址重定位 地址转换在进程执行前一次完成
  • matlab基础语法2_matlab的函数_句柄

    函数是模块化 抽象化的实施者 如何查看matlab的内建函数 查看matlab内建的函数 mean m 计算平均数 在命令行窗口输入edit which mean m 会跳出一个 m文件 gt gt edit which mean m fu
  • Gauss_Seidel method with python

    Gauss Seidel method with python from wikipedia https en wikipedia org wiki Gauss E2 80 93Seidel method import numpy as n