使用python计算数组中矩阵的行列式

时间:2014-09-11 12:39:46

标签: python arrays matrix

假设你有一个庞大的矩阵数组,例如维数(n,m,m)。可以把它想象成每个大小为mxm的n个矩阵。是否有一种方法(不使用循环)一次计算每个矩阵的行列式?

2 个答案:

答案 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