judge函数判断该矩阵该矩阵是否有逆矩阵

calculate计算逆矩阵

import sysclass MatrixInverse:""""求逆矩阵"""def __init__(self, matrix):self.matrix = matrixself.a = len(self.matrix)self.b = len(self.matrix[0])if self.a != self.b:print("该矩阵不可求逆矩阵")def judge(self):c = 1e = 0m = self.matrixfor i in range(self.a):for j in range(self.a):c = c * m[j % self.a][(i + j) % self.a]# print(f"{j % self.a},{(i + j) % self.a}")e = e + cc = 1for i in range(self.a):for j, k in zip(range(0, self.a*2, 2), range(self.a)):c = c * m[k % self.a][(i + j) % self.a]# print(f"{k % self.a},{(i + j) % self.a}")e = e - cc = 1print(f"该矩阵的值为:{e}", end=",")if e != 0:print("存在逆矩阵。")else:print("不存在逆矩阵。")return edef calculate(self):"""使用高斯约当消元法计算所给矩阵的逆矩阵"""if MatrixInverse.judge(self) == 0:sys.exit()d = [[0 for i in range(self.a*2)] for j in range(self.a)]e = [[0 for i in range(self.a)] for j in range(self.a)]for i, j in zip(range(self.a), range(self.a)):e[i][j] = 1for i in range(self.a):for j in range(self.a):d[i][j] = self.matrix[i][j]for i in range(self.a):for j in range(self.a, self.a*2):d[i][j] = e[i][j-self.a]"""重新选取主元"""m1 = []for i in range(self.a):m1.append(i)for i in range(self.a):m = 0while m < self.a:  # 这两个循环为选取主元if d[m][i] != 0 and i < self.a and m in m1:c2 = d[m][i]  # c2 为选取的主元,m为行,i为列。for x in range(self.a*2):  # 本循环改变主元所在行的元素,各元素除以主元d[m][x] = d[m][x]/c2  # 防止 d[i][m] 的变化for j in range(self.a):  # 本循环以主元所在行为标准,改变其他行c3 = d[j][i]for k in range(self.a*2):if j != m:d[j][k] = d[j][k]/c3 - d[m][k]m1.remove(m)m = self.a  # i 列产生主元后,本列不再产生主元,切换到下一列else:m += 1for i in range(self.a):for j in range(self.a):if d[i][j] != 0:c5 = d[i][j]for k in range(self.a*2):d[i][k] = d[i][k]/c5"""将逆矩阵保存在d2中"""d2 = [[0 for i in range(self.a)] for j in range(self.a)]for i in range(self.a):for j in range(self.a, self.a*2):d2[i][j-self.a] = float('%.2f' % d[i][j])print("该矩阵的逆矩阵为:")print(d2)n = [[1, 2, 3], [0, 0, 0], [3, 4, 3]]
s = MatrixInverse(n)
s.calculate()

结果:

代码只支持二维矩阵

python 高斯约当消元法求逆矩阵相关推荐

  1. 用高斯约当法求逆矩阵​​​​​​​​​​​​​​​​​​​​​A-1

    原矩阵:                   求. 用高斯约当法求逆矩阵. #include<iostream> #include<cstdio> #include<cs ...

  2. 高斯约当法求逆矩阵的算法实现(C++)

    #include"iostream.h" #include"math.h" void main() { float a[10][10],A[10][10],b[ ...

  3. 4.6 高斯约当消元法

    4.6 高斯约当消元法 高斯消元法把矩阵变换为上三角阵,上三角阵还可以继续变换为对角阵.例如上面增广矩阵 [A,b][A, b][A,b] 变换为上三角阵 [24−2201140048]\left[ ...

  4. 高斯-约当消元法(转)

    高斯-约当消元法(转) 转载来源 选主元的高斯-约当(Gauss-Jordan)消元法在很多地方都会用到,例如求一个矩阵的逆矩阵.解线性方程组(插一句:LM算法求解的一个步骤),等等.它的速度不是最快 ...

  5. 高斯消元法(高斯·约当消元法)(浮点)

    高斯消元法,用于解多元一次方程(几乎类似模拟手动解方程). 思路: 通过等式的乘除,把方程1的x1x1x_1系数a11a11a_{11}分别化为方程2~方程n的x1x1x_1系数,然后将方程2~方程n ...

  6. C语言:选列主元约当消元法求线性方程组唯一解

    采用选列主元约当消元法求线性方程组唯一解:输入4*5的线性方程组的满秩增广矩阵,输出方程组的解(使用双精度double类型精确到小数点后9位有效数). 输入格式 m(整数,实验数据总数) a11 a1 ...

  7. 高斯-约当消元法(随机程序,UVA 10828)

    就是有一类题目: 就是给你一个图,和一个起始点(可以很抽象,比如UVA 11762需要你自己建模.也可以很具体,比如就是一个网格) 然后每个节点都有一定概率转移到另一些节点. 具体解法就是: 如果是有 ...

  8. 高斯消元法(高斯·约当消元法)(整数)

    整数高斯消元作用在于最后得出的解可以判断是否为整数. 首先看高斯消元法(浮点) 整数的高斯消元法,在消元时通过等式乘法,将同一项系数统一成它的最小公倍数,然后再进行消元. 核心代码: int n,A[ ...

  9. 高斯-约当 (Gauss-Jordan) 消元法 [学习笔记]

    朴素高斯消元 program ttdd8; var matrix:array[1..100,1..101] of double;temp:array[1..101] of double;x:array ...

最新文章

  1. oracle date怎么用,Oracle to_date的使用方法
  2. R语言使用fs包的path_wd函数基于自定义文件路径规则,批量生成多个文件或者文件夹对应的绝对(absolute)文件路径(constructs absolute path)
  3. HDU 1573~3579 X问题Hello Kiki[同余方程]
  4. html5 响应式布局
  5. DotNetNuke 框架总揽
  6. 信息学奥赛一本通 1069:乘方计算 | OpenJudge NOI 1.5 13
  7. 【扇贝批量添加单词到词库】利用python调用扇贝API (oauth2)
  8. Activiti的BPMN2.0中的子流程
  9. wxpython播放视频_opencv视屏流嵌入wxpython框架
  10. 一键安装服务器系统,一键安装服务器系统
  11. 2022-2028年中国AC-DC蓝牙音箱市场现状研究分析与发展前景预测报告
  12. C++实现人机对战围棋(使用Leela Zero权重)-策略
  13. python爬虫qq好友信息_qq好友空间说说爬虫
  14. ipad上编译运行代码_是否可以在iPad上编写和运行PHP代码?
  15. 台式计算机搜索不到无线信号,win7电脑搜不到无线信号怎么办_win7找不到无线网络怎么解决-win7之家...
  16. 截图软件:TechSmith SnagIt V10.0.0.788英文原版+有效激活码
  17. php替换掉,php替换
  18. 百度地图API(WEB端/JavaScript API)--实际运用与扩展
  19. 获取Android设备唯一标识(唯一序列号)
  20. csrf漏洞防御方案_CSRF原理实战及防御手段

热门文章

  1. 启动MySQL报错:ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
  2. java pdf stamper_使用pdfstamper(Itext)将页码添加到pdf
  3. 云帆加速:广电新媒体营收如何跑赢成本
  4. Python爬虫——你们要的王者荣耀高清图
  5. ASP.NET 复习资料
  6. Qt Windows上实现毛玻璃效果
  7. php word的使用
  8. Oracle实例囚笼(Instance Caging)
  9. 云计算大数据基础知识点
  10. DSF data model