矩阵:矩形阵列,由相同类型元素按矩形网格排列组成的二维结构。矩阵有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_2d
    raise 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_square
    raise 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
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐