在Python上使用Leibniz公式查找nxn矩阵的行列式

时间:2019-11-18 23:54:29

标签: python

我尝试用python编码排列。我正在寻找有关如何使用python 3.7中的Leibniz公式对行列式进行编码的建议

1 个答案:

答案 0 :(得分:0)

如果您愿意使用numpy,则可以使用numpy.linalg.det()

查找行列式

我建议不要使用莱布尼兹的公式。这不是很有效。 如果需要的话,可以使用我从this question获取的代码:

react-dom.development.js

其中嵌套函数的定义如下:

def determinant_leibnitz(self):
    assert self.dim()[0] == self.dim()[1] # O(1)
    dim = self.dim()[0] # O(1)
    det,mul = 0,1 # O(1)
    for perm in permutations([num for num in range(dim)]):
        for i in range(dim):
            mul *= self[i,perm[i]] # O(1)
        det += perm_parity(perm)*mul # O(n) ?
        mul = 1 # O(1)
    return det