如何用python求矩阵的行列式

2024-05-13 04:08:42 发布

您现在位置:Python中文网/ 问答频道 /正文

在python和rusty的线性代数方面是新手。但是,我正在寻找如何正确地从python中的矩阵中创建行列式而不使用Numpy的指导。请参阅下面的代码片段。非常感谢任何帮助。在

import math 
from math import sqrt
import numbers 
import operators

def determinant(self)

        if not self.is_square():
            raise(ValueError, "Cannot calculate determinant of non-square matrix.")
        if self.h > 2:
            raise(NotImplementedError, "Calculating determinant not implemented for matrices larger than 2x2.")


        |x| = A

    det(A) = [[A, B][C, D]]

    assert self.rows == A.cols
    assert self.row > 1
    term_list = []

Tags: importselfnumpyifnot矩阵mathassert
1条回答
网友
1楼 · 发布于 2024-05-13 04:08:42
def determinant(matrix, mul):
width = len(matrix)
 if width == 1:
    return mul * matrix[0][0]
 else:
    sign = -1
    sum = 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
        sum += mul * determinant(m, sign * matrix[0][i])
    return sum

test_matrix = [[1,-2,3],[0,-3,-4],[0,0,-3]]

print(determinant(test_matrix, 1))

相关问题 更多 >