矩阵行列式计算

计算

def determinant(m):
    a = 0
    if len(m) == 1:
        a = m[0][0]
    else:
        for n in xrange(len(m)):
            if (n + 1) % 2 == 0:
                a -= m[0][n] * determinant([o[:n] + o[n + 1:] for o in m[1:]])
            else:
                a += m[0][n] * determinant([o[:n] + o[n + 1:] for o in m[1:]])

    return a

print determinant([[1,2],[3,4]])

 numpy包

import numpy
def determinant_lib(matrix):
    return round(numpy.linalg.det(matrix)) #这里round是四舍五入

  

posted @ 2016-11-09 13:55  夏末秋凉  阅读(566)  评论(0)    收藏  举报