def determinant()

in tutorials/LinearAlgebra/testing.py [0:0]


def determinant(mat):
    n = len(mat)
    if n == 1:
        return mat[0][0]
    else:
        ans = 0
        coeff = 1
        for i in range(n):
            temp = []
            for j in range(1, n):
                row = []
                for k in range(n):
                    if k != i:
                        row.append(mat[j][k])
                temp.append(row)
            ans += coeff * mat[0][i] * determinant(temp)
            coeff *= -1
        return ans