scroobius-pip
10/17/2016 - 12:29 AM

Python Matrix Determinant Calculator

Python Matrix Determinant Calculator

#! py
def solve(matrix, mul):
    width = len(matrix)
    if width == 1:
        return mul * matrix[0][0]
    else:
        sign = -1
        total = 0
        for i in range(width):
            m = []
            for j in range(1, width):
                buff = []
                for k in range(width):
                    if k != i:
                        buff.append(matrix[j][k])
                m.append(buff)
            sign *= -1
            total += mul * solve(m, sign * matrix[0][i])
        return total

matrix = [[1,-2,3],[0,-3,-4],[0,0,-3]]
print(solve(matrix, 1))