Python Gauss-Jordan求逆源码

import numpy as npn = 5
a = np.random.rand(n,n)*10-5 + np.eye(n)*10
I = np.eye(n)A = a.copy()for i in range(n):if A[i][i] == 0.0:sys.exit('Divide by zero detected!')for j in range(n):if i != j:ratio = A[j][i]/A[i][i]for k in range(n):A[j][k] = A[j][k] - ratio * A[i][k]I[j][k] = I[j][k] - ratio * I[i][k]for i in range(n):divisor = A[i][i]for j in range(n):A[i][j] = A[i][j]/divisorI[i][j] = I[i][j]/divisorprint('原矩阵:\r\n',a)
print('\r\n')print('变换后的矩阵 A:\r\n',A)
print('\r\n')print('逆矩阵 I:\r\n',I)
print('\r\n')print('验证 a 与变换后的 I 互为逆矩阵')
print(a @ I)

运行结果:

原矩阵:[[11.06620341  4.02653051 -3.81266039 -1.77969821  1.56564016][-4.47705901 13.4555903  -3.43722209  1.87754608 -4.97826586][ 0.82454741 -2.50899308  5.44661861 -1.26801133 -3.07717828][ 3.71653898 -1.33820684 -1.68941373  6.72406738  3.88257595][ 0.56430171  3.53763796 -0.97550277  4.17050773 11.3646953 ]]变换后的矩阵 A:[[ 1.00000000e+00  0.00000000e+00  4.06392813e-17  0.00000000e+000.00000000e+00][ 0.00000000e+00  1.00000000e+00 -2.69147293e-18  0.00000000e+000.00000000e+00][ 0.00000000e+00  0.00000000e+00  1.00000000e+00  0.00000000e+000.00000000e+00][ 0.00000000e+00  0.00000000e+00  9.80494989e-19  1.00000000e+003.05013513e-17][ 0.00000000e+00  0.00000000e+00 -4.75588575e-18  0.00000000e+001.00000000e+00]]逆矩阵 I:[[ 0.07219712 -0.00483262  0.05730815  0.03695309 -0.00917038][ 0.02769365  0.06116294  0.05769089 -0.02894162  0.04848527][-0.00629893  0.02022926  0.20051313 -0.01168842  0.06801452][-0.03631011  0.03778475  0.04093239  0.14723274 -0.01766303][ 0.00057863 -0.03092852 -0.01861346 -0.04785919  0.08567442]]验证 a 与变换后的 I 互为逆矩阵
[[ 1.00000000e+00  6.75978849e-17  2.04597238e-16  1.22516624e-176.28858572e-17][-3.91192620e-17  1.00000000e+00  2.20470876e-16  1.12105900e-169.66403786e-17][ 1.57751789e-17 -3.58731145e-17  1.00000000e+00 -5.18151179e-175.50296991e-17][ 9.09477972e-18 -4.24848092e-17  1.09681971e-16  1.00000000e+002.58718941e-17][ 6.19235889e-18  5.40502791e-17  1.44604666e-16  1.18687378e-161.00000000e+00]]

用Python实现Gauss-Jordan求逆矩阵相关推荐

  1. python C++ 求逆矩阵库

    python求逆矩阵库 https://numpy.org/ C++求逆矩阵库 http://eigen.tuxfamily.org/index.php?title=Main_Page

  2. 用列主元高斯(Gauss)消元法求n阶线性方程组的解(python)

    (一)目的 通过设计.编制.调试2~3个求n阶线性方程组数值解的程序,加深对其数值计算方法及有关的基础理论知识的理解. (二)要求 用编程语言实现用高斯(Gauss)消元法求n阶线性方程组的解.用列主 ...

  3. python 高斯约当消元法求逆矩阵

    judge函数判断该矩阵该矩阵是否有逆矩阵 calculate计算逆矩阵 import sysclass MatrixInverse:""""求逆矩阵" ...

  4. numpy求逆矩阵_线性代数精华2——逆矩阵的推导过程

    点击上方蓝字,和我一起学技术. 上一讲当中我们复习了行列式的内容,行列式只是开胃小菜,线性代数的大头还是矩阵. 矩阵的定义很简单,就是若干个数按照顺序排列在一起的数表.比如m * n个数,排成一个m ...

  5. python实现简单的求矩阵的逆

    简单记录一下,后续改进 python代码 #模26运算下,求矩阵的逆. #使用伴随矩阵求逆矩阵法. #整个精度保持在整数位(方便求模运算).import numpy as np #扩展欧几里得算法求最 ...

  6. 3.3 伴随矩阵法求逆矩阵

    文章目录 逆矩阵定义 伴随矩阵 python实现 逆矩阵定义   逆矩阵指的是另一个矩阵和自己相乘会变成单位矩阵,符号是右上角一个 − 1 -1 −1,就是: A A − 1 = A − 1 A = ...

  7. python中Scipy模块求取积分

    python中Scipy模块求取积分的方法: SciPy下实现求函数的积分的函数的基本使用,积分,高等数学里有大量的讲述,基本意思就是求曲线下面积之和. 其中rn可认为是偏差,一般可以忽略不计,wi可 ...

  8. Algorithm:C++/python语言实现之求旋转数组最小值、求零子数组、求最长公共子序列和最长公共子串、求LCS与字符串编辑距离

    Algorithm:C++/python语言实现之求旋转数组最小值.求零子数组.求最长公共子序列和最长公共子串.求LCS与字符串编辑距离 目录 一.求旋转数组最小值 1.分析问题 2.解决思路 二.求 ...

  9. python高阶函数求导_Python---高阶函数

    # 高阶函数 # 变量可以指向函数 # 以Python内置的求绝对值的函数abs()为例,调用该函数用以下代码 print(abs(-10)) # 只写abs # 输出为: print(abs) #  ...

  10. 变换例题_用初等变换求逆矩阵的小小解释

    在我们学习逆矩阵的过程中,肯定会遇到这样一种求逆矩阵的方法: 若A是一个n阶可逆矩阵, (虚竖线打不出,凑合着看吧!)这一过程中经历了一系列初等行变换,并且我们下结论说: 中的 就是A的逆矩阵! 按逻 ...

最新文章

  1. 机器学习与统计学的争论,有意义吗?
  2. 分布式加载数据训练神经网络
  3. java mysql 删除 博客园_mysql的增删改查
  4. SimpleDateFormat使用详解 转
  5. EF mysql 数据迁移_EF Code First Migrations数据库迁移
  6. wampserver环境下,apache本地下设置多个域名
  7. 利用VSCode阅读OpenFOAM源代码及其调试Debug【终极总结篇】
  8. 玩转算法之面试-第六章(栈和队列)
  9. 新项目上传到码云托管
  10. 前端:CSS/08/框架
  11. 鸿蒙荣耀9X公测,荣耀9X系列手机开启EMUI 10公测更新
  12. Spring思维导图(AOP篇)
  13. java两数相乘的函数_jquery 加法 乘法运算 精确计算函数
  14. OpenCASCADE 读写STEP文件
  15. 容器 I/O 性能诊断:到底哪个应用是带宽杀手?
  16. 一年过去了,Uber 的致命事故给我们上了哪些生动的警示课?...
  17. 简述什么是FBV和CBV?
  18. easyexcel使用教程-导出篇
  19. mysql-mmm 故障_mysql-mmm故障解决一例
  20. Python之按键模拟软件

热门文章

  1. 1.1.1.1校园网_还担心断网?快试试清华校园网自动连接程序
  2. 给WIN2003 IIS SQL服务器安全加固
  3. BeanFactory笔记
  4. [codeforces 508E]Maximum Matching
  5. UI自动化页面定位(一)
  6. 各种排序实现以及稳定性分析
  7. 写在分类之首-----to do list!
  8. [xUnit]尝试单元测试
  9. HDU ACM 1046 Gridland 找规律
  10. 新手对于iPhone开发环境等入门问题解答汇总