一个矩阵的伴随矩阵不用现成的库(numpy)怎么求,首先看一下公式:


def remove_line(index,arr):yy=[]for i in range(len(arr)):hh=[]for j in range(len(arr)):if(i==index[0] or j==index[1]):passelse:hh.append(arr[i][j])if(hh!=[]):yy.append(hh)# yy.remove([])return yydd=[[0,4,3,5],[2,3,2,6],[3,4,5,7],[3,4,5,7]]for i in range(len(dd)):for j in range(len(dd)):tm_list=remove_line(tuple([i,j]),dd)print((i,j),tm_list)

的求法就是这样

怎么求代数余子式呢,就是求矩阵的行列式

def getInversion(numlist):count = 0for i in range(1,len(numlist)):subscript = numlist[i]for j in range(i):if subscript < numlist[j]:count += 1return count
def remove_line(index,arr):yy=[]for i in range(len(arr)):hh=[]for j in range(len(arr)):if(i==index[0] or j==index[1]):passelse:hh.append(arr[i][j])if(hh!=[]):yy.append(hh)# yy.remove([])return yydef permutation(dd,ilist,jlist,index):# global D# D = 0for i in range(index,len(jlist)):if index == len(jlist)-1:term = 1for ii in range(len(ilist)):i = ilist[ii]j = jlist[ii]term *= dd[i][j]if getInversion(jlist) % 2 == 0:Matrix.global_d_value += termelse:Matrix.global_d_value -= termreturntmp = jlist[index]jlist[index] = jlist[i]jlist[i] = tmppermutation(dd,ilist,jlist,index+1)tmp = jlist[index]jlist[index] = jlist[i]jlist[i] = tmp
class Matrix:"""docstring for Matrix"""global_d_value=0dd=[[1,2,3],[4,5,6],[7,8,9]]for i in range(len(dd)):for j in range(len(dd)):tm_list=remove_line(tuple([i,j]),dd)ilist=[i for i in range(len(tm_list))]jlist=[i for i in range(len(tm_list))]# i,j位置的余子式print((i,j),tm_list)Matrix.global_d_value=0permutation(tm_list,ilist,jlist,0)# i,j位置的代数余子式print((i,j),Matrix.global_d_value)

结果:

(0, 0) [[5, 6], [8, 9]]
(0, 0) -3
(0, 1) [[4, 6], [7, 9]]
(0, 1) -6
(0, 2) [[4, 5], [7, 8]]
(0, 2) -3
(1, 0) [[2, 3], [8, 9]]
(1, 0) -6
(1, 1) [[1, 3], [7, 9]]
(1, 1) -12
(1, 2) [[1, 2], [7, 8]]
(1, 2) -6
(2, 0) [[2, 3], [5, 6]]
(2, 0) -3
(2, 1) [[1, 3], [4, 6]]
(2, 1) -6
(2, 2) [[1, 2], [4, 5]]
(2, 2) -3
[Finished in 0.1s]

有了这个就可以用伴随矩阵的方法求逆矩阵了

Python 实现求矩阵的伴随矩阵相关推荐

  1. python实现求矩阵行列式、求逆矩阵等各种矩阵操作(不使用numpy包)

    def submatrix(A,i,j):#矩阵A第i行第j列元素的余矩阵p=len(A)#矩阵的行数q=len(A[0])#矩阵的列数C=[[A[x][y] for y in range(q) if ...

  2. python如何求矩阵逆运算_python简单实现矩阵的乘,加,转置和逆运算示例

    本文实例讲述了python简单实现矩阵的乘,加,转置和逆运算.分享给大家供大家参考,具体如下: 使用python完成矩阵的乘,加,转置和逆: # -*- coding:utf-8 -*- #矩阵的乘, ...

  3. Python中求矩阵的逆

    import numpy as npkernel = np.array([1, 1, 1, 2]).reshape((2, 2)) print(kernel) print(np.linalg.inv( ...

  4. python如何求矩阵逆运算_Sympy复矩阵求逆/运算

    使用Continuum Anaconda分布中的Sympy 0.7.2(我懒得自己构建堆栈,不要讨厌),当我在做复杂矩阵代数时,经常遇到这个问题,其中一些本机函数将典型的"1j"替 ...

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

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

  6. python求矩阵的逆

    文章目录 准备工作 Ready to work 环境 Environment 模块导入 Module import 代数余子式 Algebraic cofactor 定义 Definition 代码实 ...

  7. python求矩阵的谱半径

    在学习计算方法的时候,线性方程组的迭代法中的雅可比(Jacobi)迭代法和高斯-塞德尔(Gauss-Seidel)迭代法的收敛条件中需要求矩阵的谱半径,而经过查阅资料,python numpy库中没有 ...

  8. python求矩阵特征值和特征向量_特征值,特征向量,标准正交向量组与numpy

    使用python的数值计算库numpy来计算矩阵的特征值,特征向量与标准正交向量组 import numpy as np 1.求矩阵 的特征值和各特征值所对应的特征向量 x = np.array([[ ...

  9. Python解决矩阵的PLU分解及求矩阵的逆

    Python解决矩阵的PLU分解及求矩阵的逆 关于PLU的分解基础知识就不叙述了,可以自己去看矩阵分析的书,大体上和高斯消去法差不多. PLU分解被经常用在Ax=bAx=bAx=b的求解上 在这里xx ...

  10. Python求矩阵的内积、外积、克罗内克直积、Khatri-Rao积

    文章目录 矩阵乘法 内积和外积 直积 Khatri-Rao积 矩阵乘法 线性代数研究的核心对象是矩阵,所谓矩阵就是由 m m m行 n n n列的数组成的一个举行的数阵,从编程的角度理解,就是二维数组 ...

最新文章

  1. 基于卷积神经网络(CNN)的仙人掌图像分类
  2. 3 calender python_python3笔记二十一:时间操作datetime和calendar
  3. U3D协程Coroutine之WWW与Update()的并行测试
  4. mysql 开放远程连接权限连不上
  5. HDU - 1723 - Distribute Message
  6. 粉丝回馈 | 用30天换来了这辈子独一无二的纪念
  7. mysql 分组查询原理,MySQL分組查詢Group By實現原理詳解
  8. 通过minicom传送文件的相关配置及使用方法
  9. 自定义MVC项目02
  10. Au 音频效果参考:调制
  11. HEVC与AVC的区别与联系(十二),Android面试题集锦在这里
  12. windows11,Windows10,服务器centos7安装docker,docker compose
  13. c语言练习之路4之浙大版《C语言程序设计实验与习题指导(第3版)》题目集
  14. 回归常态啦 2020.12.08日记
  15. esclip直接快捷键构造函数_IntelliJ Idea 常用快捷键
  16. 老宇哥带你玩转 ESP32:04 串口玩起来是真方便
  17. 什么显卡是个人计算机的基本配置和市场主流,现在()显卡已经成为了个人计算机的基本配置和市场主流。 - 问答库...
  18. 无线传感器网络:定位、安全与同步
  19. ffmpeg 设定码率
  20. Android程序的升级

热门文章

  1. base64加密后字符串自动换行问题
  2. 【AI视野·今日NLP 自然语言处理论文速览 第三十二期】Wed, 20 Apr 2022
  3. 算法7:求用小矩形覆盖大矩形有多少种方式
  4. sfm三维重建源码_多视图几何三维重建实战系列之COLMAP
  5. ADNI-MRI-PET
  6. The command ‘docker‘ could not be found in this WSL 2 distro.
  7. System.InvalidOperationException: Failed to deploy distro docker-desktop......
  8. 小米手环6NFc支持Android,小米手环6支持nfc吗 小米手环6有没有nfc功能
  9. 微信小程序——视图层
  10. 51单片机--LED闪烁、流水灯的简单试验