使用 Numpy 行列式的精确值

Exact Value In Determinant Using Numpy

我想计算 2*2 矩阵的行列式,我使用 Numpy 中的 linalg.det 像这样:

import numpy as np
a = np.array([
[1,2],
[3,4]
])
b=np.linalg.det(a)

另一方面,我们知道我们也可以通过乘法和减法来计算它:

1*4 - 2*3 = -2

但是当我将 b 设置为 -2 时:

b == -2

它returns 错误。

这里有什么问题?我该如何解决?

如果您使用整数,可以使用

b = int(np.linalg.det(a))

只是把它变成一个整数。这应该给你以下

int(b) == -2 ## Returns True

编辑:如果近似值类似于 -1.99999999999,这将不起作用。根据下面评论中的 JohanC,请尝试改用 int(round(b))。