假设你有一个庞大的矩阵数组,例如维数(n,m,m)。可以把它想象成每个大小为mxm的n个矩阵。是否有一种方法(不使用循环)一次计算每个矩阵的行列式?
答案 0 :(得分:0)
您可以使用numpy.linalg.det
计算numpy数组的行列式,如下所示:
import numpy as np
N = 10
M = 4
# Generate N random MxM arrays
arrays = np.array([np.random.random((M,M)) for _ in range(N)])
dets = np.linalg.det(arrays)
print(dets)
# array([-0.20353081, 0.01632881, -0.17733447, -0.01518313, -0.23457492,
# 0.00284906, 0.16210605, 0.03887231, 0.07726804, -0.05107936])
在上面的示例中,我有10个大小为4x4的矩阵(作为示例随机生成)。 dets
是一个由10个数字组成的数组,是你的决定因素。
答案 1 :(得分:0)
在numpy中,有一个名为" linalg.det " :
每个例子:
import numpy as np
m = np.array([[-2,2,-3],[-1,1,3],[2,0,-1]])
np.linalg.det(m)
在此处查看 linalg.det 的文档: http://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.det.html