NumPy linalg.det – 计算给定数组的行列式

您好,欢迎来到Numpy linalg.det教程 在本教程中,我们将学习 NumPy linalg.det() 方法,并看到许多相关示例。那么让我们开始吧!

另请检查:Numpy linalg.eig – 计算方阵的特征值和右特征向量


什么是 numpy.linalg.det?

NumPy 中的方法numpy.linalg.det()用于计算给定方阵的行列式。

如果我们有一个以下形式的 2×2 矩阵:

2×2阵列

其行列式计算如下:

2×2 数组行列式

对于像这样的 3×3 矩阵

3×3阵列

行列式计算如下:

3×3 数组行列式

同样,我们可以计算高阶数组的行列式。


NumPy linalg.det 的语法

numpy.linalg.det(a)
  • 参数: a,一个 MxM 数组。用于计算行列式的输入数组。
  • 返回:a的行列式

NumPy linalg.det 的示例

让我们看一下 NumPy linalg.det 函数的一些示例,以了解它的工作原理。

1. 在 2×2 数组上使用 NumPy linalg.det

import numpy as np
 
arr = [[2, 1], [3, 5]]
# using np.linalg.det() method to compute the determinant
print("array = ", arr)
print("Determinant of array = ", np.linalg.det(arr))
det = 5*2 - 3*1
print("Determinant of array using manual calculation = ", det)

输出:

array =  [[2, 1], [3, 5]]
Determinant of array =  6.999999999999999
Determinant of array using manual calculation =  7

在具有负数的 2×2 数组上使用 NumPy linalg.det

import numpy as np
 
arr = [[-5, 2], [-4, 8]]
# using np.linalg.det() method to compute the determinant
print("array = ", arr)
print("Determinant of array = ", np.linalg.det(arr))
det = (-5*8) - (-4*2)
print("Determinant of array using manual calculation = ", det)

输出:

array =  [[-5, 2], [-4, 8]]
Determinant of array =  -32.0
Determinant of array using manual calculation =  -32

3×3 数组的 NumPy linalg.det 计算

import numpy as np
 
arr = [[2, 1, 3], [5, 3, 4], [1, 0, 1]]
# using np.linalg.det() method to compute the determinant
print("array = ", arr)
print("Determinant of array = ", np.linalg.det(arr))
det = 2*(3*1 -0*4) -1*(5*1 - 1*4) + 3*(5*0 - 3*1)
print("Determinant of array using manual calculation = ", det)

输出:

array =  [[2, 1, 3], [5, 3, 4], [1, 0, 1]]
Determinant of array =  -4.0
Determinant of array using manual calculation =  -4

在上述所有示例中,我们都使用了numpy.linalg.det方法来计算行列式,也使用手动方法(即通过上面讨论的公式)计算了行列式。通过这一点,我们可以得出结论,两种方法返回相同的答案。


结论

就这样!在本教程中,我们了解了 Numpy linalg.det 方法,并使用该方法练习了不同类型的示例。  

如果您想了解有关 NumPy 的更多信息,请随时阅读我们的 NumPy 教程


参考