当前位置: 首页 > news >正文

43python数据分析numpy基础之det计算矩阵的行列式

矩阵:矩形阵列,由相同类型元素按矩形网格排列组成的二维结构。矩阵有2个维度,行和列,m×n的矩阵有m行n列。

方阵:方形矩阵,行数和列数相等的矩阵。如果一个矩阵有n行和n列,则称为方阵。

n阶矩阵:一个具有n行和n列的方阵,即行和列相等都为n的矩阵。由n个向量组成,每个向量都有n个分量。

一个向量由一组有序的数值组成,这些数值称为该向量的分量。

行列式:一个n阶矩阵的行列式等于其任意行(或列)的元素与对应的代数余子式乘积之和。
在这里插入图片描述

余子式:一个n阶行列式中的元素a_ij所在的第i行和第j列划去后,留下来的n-1阶行列式叫做元素a_ij的余子式,记作M_ij。A_ij=在这里插入图片描述
M_ij,叫做元素a_ij的代数余子式。

python的numpy库的linalg.det(a)函数,用于计算矩阵的行列式。

用法

numpy. linalg.det(a)

描述

numpy. linalg.det(a),返回n阶矩阵a的行列式,是一个标量。

入参

a:必选,数组、列表、元组;

1.1 入参a

numpy. linalg.det(a)的入参a为必选入参,必须为二阶及以上矩阵。

可以为列表、元组、数组。

>>> import numpy as np
# det(a)计算n阶矩阵a的行列式
# a为2阶列表
>>> np.linalg.det([[1,2],[8,9]])
-6.999999999999998
# a为2阶元组
>>> np.linalg.det(((1,2),(8,9)))
-6.999999999999998
# a为2阶数组
>>> np.linalg.det(np.array(((1,2),(8,9))))
-6.999999999999998
# a必须为2阶及以上矩阵
>>> np.linalg.det([1,2])
Traceback (most recent call last):File "<pyshell#7>", line 1, in <module>np.linalg.det([1,2])File "D:\python39\lib\site-packages\numpy\linalg\linalg.py", line 2176, in det_assert_stacked_2d(a)File "D:\python39\lib\site-packages\numpy\linalg\linalg.py", line 206, in _assert_stacked_2draise LinAlgError('%d-dimensional array given. Array must be '
numpy.linalg.LinAlgError: 1-dimensional array given. Array must be at least two-dimensional
>>> np.linalg.det([[1,2,3],[4,5,6]])
Traceback (most recent call last):File "<pyshell#8>", line 1, in <module>np.linalg.det([[1,2,3],[4,5,6]])File "D:\python39\lib\site-packages\numpy\linalg\linalg.py", line 2177, in det_assert_stacked_square(a)File "D:\python39\lib\site-packages\numpy\linalg\linalg.py", line 213, in _assert_stacked_squareraise LinAlgError('Last 2 dimensions of the array must be square')
numpy.linalg.LinAlgError: Last 2 dimensions of the array must be square

1.2 二阶三阶行列式

对于二阶矩阵 A = [[a, b], [c, d]],其行列式计算公式为 |A| = ad - bc。

三阶矩阵:对于一个三阶矩阵 A = [[a, b, c], [d, e, f], [g, h, i]],其行列式计算公式为 |A| = aei + bfg + cdh - ceg - bdi - afh。

>>> import numpy as np
#二阶矩阵 A = [[a, b], [c, d]],其行列式计算公式为 |A| = ad - bc
>>> np.linalg.det(np.arange(6,10).reshape(2,2))
-1.9999999999999998
# 三阶矩阵 A = [[a, b, c], [d, e, f], [g, h, i]],其行列式计算公式为 |A| = aei + bfg + cdh - ceg - bdi - afh。
>>> np.linalg.det(np.arange(6,15).reshape(3,3))
0.0

http://www.mrgr.cn/news/68963.html

相关文章:

  • C# 选择文件夹路径
  • 智能化运维与AI/ML辅助决策:实现自动化与预测优化
  • LabVIEW弧焊参数测控系统
  • redisson内存泄漏问题排查
  • 11-通信图建模测试
  • Clickhouse集群新建用户、授权以及remote权限问题
  • STM32H750 COMP模拟比较器
  • 星环大数据平台--TDH部署
  • 有什么初学算法的书籍推荐?
  • 【Syncfusion系列】Diagram 杂谈第一篇
  • 人工智能技术的应用前景及未来发展:改变工作与生活的力量
  • JavaScript 表单
  • 【leetcode】动态规划刷题总结-划分问题
  • pytorch torch.tile用法
  • 大数据-216 数据挖掘 机器学习理论 - KMeans 基于轮廓系数来选择 n_clusters
  • 连锁餐饮收银系统源码(收银端+扫码点餐+自营外卖+营销)
  • 双十一购买服务器不止局限于新用户,老用户同样有福利!
  • Zookeeper入门
  • 系统安全第六次作业题目及答案
  • 线程级耗时统计工具类TimeWatcher
  • PMP–知识卡片--人才九宫格
  • Windows 11开发环境配置与应用开发
  • 【Ant Design Pro】框架入门的起手式及架构的分析
  • 使用SpringAI快速实现离线/本地大模型应用
  • [241109] 树莓派触摸显示屏 2 代上市 | LibreOffice 24.2.7 发布,24.2 分支的最终版本
  • Python函数专题:默认参数与关键字参数