"""
    递归(拉普拉斯展开)计算n阶行列式
    传入的一定为"正方形"
    input:
        [
         [1,2,3,4],
         [5,6,7,8],
         [9,1,2,3],
         [4,5,6,7],
        ]
"""

#获取 表示余子式的行列式
def get_clild(x=0,y=0,args=[[0,0,0],[0,0,0],[0,0,0]]):result=[]for index_row in range(len(args)):if index_row==x:continue

        temp=[]index_temp=0
        for index_rank in range(len(args)):if index_rank==y:continue

            temp.append(args[index_row][index_rank])result.append(temp)return result#计算
def calc(args=[[0,0,0],[0,0,0],[0,0,0],],x=0,y=0):if len(args)==2:return args[1][1]*args[0][0]-args[1][0]*args[0][1]elif len(args)>=2:result=0
        for i in range(len(args)):# 获得余子式
            child_item = get_clild(x, y+i, args)result+=( args[x][y+i] * ( (-1)**(x+y+i) ) * calc(child_item,0,0) )return result"""

    输入行列式的形式变成和test_arg一致的形式
    调用calc()得到返回结果"""
if __name__=="__main__":test_arg00=[[1,2,3,4],[5,6,7,8],[9,1,2,3],[4,5,6,7]]test_arg01=[[1,1,1],[1,2,3],[1,5,1]]test_arg02=[[0,-7,9,-11],[0,-7,7,-12],[0,2,-1,2],[1,4,-7,6]]# get_clild(1,1,test_arg)
    print(str(calc(test_arg02)))

转载于:https://my.oschina.net/u/3526387/blog/1546288

python3计算行列式的值(运用拉普拉斯展开法递归实现)相关推荐

  1. 线性代数 --- 三种计算矩阵的行列式的方法之一 拉普拉斯展开法(个人笔记扫描版)

     行列式的定义: 用"拉普拉斯展开法"求行列式的值 2x2矩阵的行列式:  3x3矩阵的行列式:  4x4矩阵的行列式: 个人笔记: (全文完) 其他算法: LU分解法: 如何计算 ...

  2. java之利用行列式展开法,计算行列式的值

    一.提出问题 如何利用行列式展开法计算行列式的值 二.基本理论与操作说明 三.举例说明 1.代码 public class first {static int[][] geta(int m[][],i ...

  3. 实验六(函数) 2.编写函数 int fac(int x)计算 x!的值。在主函数中输入 n 和 m 的值,通过调用函数 fac 计算Cnm 的值(要求分别用递归和非递归的方法编写函数 fac)。

    (Cnm是m在上n在下) 非递归法: #include<stdio.h>long fac(long);int main(){long m,n,a=1,b;scanf("%ld%l ...

  4. 线性代数 --- 三种计算矩阵的行列式的方法之二 莱布尼兹展开法(个人笔记扫描版)

    三种计算矩阵的行列式的方法之二 莱布尼兹展开法 在我的个人的线性代数学习中,我分别记录计算矩阵行列式的三种方法,1,LU分解法,2,拉普拉斯展开法,这里我介绍一下第三种方法,莱布尼兹展开法.   行列 ...

  5. c语言编写程序计算行列式值,求行列式的值,用C语言怎么写啊? 如何求行列式的值...

    导航:网站首页 > 求行列式的值,用C语言怎么写啊? 如何求行列式的值 求行列式的值,用C语言怎么写啊? 如何求行列式的值 相关问题: 匿名网友: 行列式计算公式知道吧,给你个源码参考,大一时写 ...

  6. 行列式求值、矩阵求逆

    #include <iostream> #include <string> #include <assert.h> #include <malloc.h> ...

  7. C语言用代数余子式计算行列式

    本章主要介绍利用代数余子式计算行列的原理及代码实现 除了代数余子式法,其他计算行列式的方法如下: 1)利用高斯法计算行列式 2)利用LU分解法计算行列式 目录 1.代数余子式计算行列式的原理 二阶行列 ...

  8. 6*6行列式相加的c语言,求行列式的值,用C语言怎么写啊?

    优质回答 回答者:徐州小可爱 行列式计算公式知道吧,给你个源码参考,大一时写的. #include #include #define MAX 9 /*定义最大为9阶行列式*/ int Fun(int ...

  9. #c拉普拉斯展开求行列式的值

    #c拉普拉斯展开求行列式的值 #include <stdio.h> int det(int n, int(*p)[n]); int main(){     int n;     scanf ...

最新文章

  1. 附录6:TensorFlow基础(二)
  2. 如何在MySQL中声明变量?
  3. 【深度学习】讲一个深度分离卷积结构和空洞卷积的应用
  4. 阿里云容器服务入选云原生边缘「领导力企业TOP3」,推动「原生云边」基础设施标准建立
  5. main函数执行前执行一个函数的写法
  6. Spring Cloud Alibaba——Nacos实现服务治理
  7. mysql将表的某一列全部置空NULL。
  8. Android 开发 关于APP无法安装到Android模拟器上的问题
  9. win11任务栏怎么更换颜色 win11任务栏更换颜色的设置方法
  10. three.js 笑脸雨
  11. mac下virtualbox虚拟机centos联网问题
  12. mysql超市管理系统怎么写_vb6.0+mysql编写的小型超市管理系统
  13. 新手怎么选择蓝牙耳机不被忽悠?注意这两大误区一定不猜雷
  14. java foreach 空指针_foreach循环报NPE空指针异常
  15. @JsonBackReference
  16. 侯捷C++视频资源全集 | 百度网盘下载
  17. Java SpringMVC+H5飞翔的小鸟游戏微信小程序源码
  18. 直播 | 乐高式微服务化改造
  19. CPA广告 CPS广告 CPC广告 CPM解析
  20. matlab 画偏振态,MATLAB模拟偏振.doc

热门文章

  1. mosquitto基本使用
  2. 麦当劳一“发币”,币圈就闹笑话,加密数字货币到底是什么?
  3. 多表联查时的sql删除语句的写法,即级联删除,将相关联的数据级联删除
  4. 单纯形法剖析,一句话描述单纯形法
  5. eMMC Partition
  6. uni-app 99群公告推送功能(一)
  7. 关于全概率和贝叶斯公式的使用场景说明
  8. soot中基本的对象
  9. SVPWM发波及其实际应用
  10. 十张图深度剖析供应链金融业务模式