【问题标题】:computing the determinants of matrices in an array using python使用python计算数组中矩阵的行列式
【发布时间】:2014-09-11 12:39:45
【问题描述】:

假设您有一个 numpy 矩阵数组,例如维数 (n,m,m) 的数组。将其视为 n 个矩阵,每个矩阵的大小为 mxm。有没有办法(不使用循环)一次性计算每个矩阵的行列式?

【问题讨论】:

  • 为什么这个问题被否决了?我发现这个问题和答案非常有用。

标签: python arrays matrix


【解决方案1】:

你可以使用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 个数字组成的 numpy 数组,你的决定因素。

【讨论】:

    【解决方案2】:

    在 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-31
      • 2013-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-01
      • 2015-01-16
      相关资源
      最近更新 更多