用Python实现Gauss-Jordan求逆矩阵
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求逆矩阵相关推荐
- python C++ 求逆矩阵库
python求逆矩阵库 https://numpy.org/ C++求逆矩阵库 http://eigen.tuxfamily.org/index.php?title=Main_Page
- 用列主元高斯(Gauss)消元法求n阶线性方程组的解(python)
(一)目的 通过设计.编制.调试2~3个求n阶线性方程组数值解的程序,加深对其数值计算方法及有关的基础理论知识的理解. (二)要求 用编程语言实现用高斯(Gauss)消元法求n阶线性方程组的解.用列主 ...
- python 高斯约当消元法求逆矩阵
judge函数判断该矩阵该矩阵是否有逆矩阵 calculate计算逆矩阵 import sysclass MatrixInverse:""""求逆矩阵" ...
- numpy求逆矩阵_线性代数精华2——逆矩阵的推导过程
点击上方蓝字,和我一起学技术. 上一讲当中我们复习了行列式的内容,行列式只是开胃小菜,线性代数的大头还是矩阵. 矩阵的定义很简单,就是若干个数按照顺序排列在一起的数表.比如m * n个数,排成一个m ...
- python实现简单的求矩阵的逆
简单记录一下,后续改进 python代码 #模26运算下,求矩阵的逆. #使用伴随矩阵求逆矩阵法. #整个精度保持在整数位(方便求模运算).import numpy as np #扩展欧几里得算法求最 ...
- 3.3 伴随矩阵法求逆矩阵
文章目录 逆矩阵定义 伴随矩阵 python实现 逆矩阵定义 逆矩阵指的是另一个矩阵和自己相乘会变成单位矩阵,符号是右上角一个 − 1 -1 −1,就是: A A − 1 = A − 1 A = ...
- python中Scipy模块求取积分
python中Scipy模块求取积分的方法: SciPy下实现求函数的积分的函数的基本使用,积分,高等数学里有大量的讲述,基本意思就是求曲线下面积之和. 其中rn可认为是偏差,一般可以忽略不计,wi可 ...
- Algorithm:C++/python语言实现之求旋转数组最小值、求零子数组、求最长公共子序列和最长公共子串、求LCS与字符串编辑距离
Algorithm:C++/python语言实现之求旋转数组最小值.求零子数组.求最长公共子序列和最长公共子串.求LCS与字符串编辑距离 目录 一.求旋转数组最小值 1.分析问题 2.解决思路 二.求 ...
- python高阶函数求导_Python---高阶函数
# 高阶函数 # 变量可以指向函数 # 以Python内置的求绝对值的函数abs()为例,调用该函数用以下代码 print(abs(-10)) # 只写abs # 输出为: print(abs) # ...
- 变换例题_用初等变换求逆矩阵的小小解释
在我们学习逆矩阵的过程中,肯定会遇到这样一种求逆矩阵的方法: 若A是一个n阶可逆矩阵, (虚竖线打不出,凑合着看吧!)这一过程中经历了一系列初等行变换,并且我们下结论说: 中的 就是A的逆矩阵! 按逻 ...
最新文章
- 3D 可视化,卷积、池化清清楚楚!网友:终于能看懂神经网络到底在干啥了......
- 这本书让我摆脱了被数学支配的恐惧!
- redispython源文件_Redis与Python在项目中的交互
- 跳出误区:Java程序员进阶架构师真的没你想象的那么简单......
- 区块链及比特币入门指南
- formal method第10课
- 关于信贷业务中常用的模型说明
- EXCEL 求解线性规划问题
- 【日常】关于爬虫中iframe节点处理小结(以超星课件下载为例)
- video.js插件的使用
- 2022年六一儿童节
- PKU2506Tiling
- win10 輸入法怎麽切換繁體
- VUE 开发一套自己的时间轴
- redis分布式代理工具选型与功能验证
- big5转utf-8乱码解决方案
- 佛山 新型智慧城市建设实打实
- 考研院校选择的一些看法
- OpenCV C++ imread填写路径下有图片却读不出 求助!!!!!!
- 增值税合理税筹,享受政策税收奖励返还,高达85%!
热门文章
- mysql isolation level_MySQL数据库事务隔离级别(Transaction Isolation Level)
- 切客软件诞生,给切客全新的购物消费体验
- SpringBoot注册Servlet、Filter、Listener
- java编码-多重(乱码)
- cmake简明使用指南
- 11:数值的整数次方
- |Vijos|树状数组|P1512 SuperBrother打鼹鼠
- 信息安全系统设计基础第六周学习总结—20135227黄晓妍
- WIN7电脑文件莫名其妙被删除后的恢复
- ginkgo php,【行业资讯】PHP 开发框架 ginkgo v0.1.2 发布