利用Python编写一个能计算n阶行列式的通用程序
时间: 2023-05-15 20:04:41 浏览: 182
好的,以下是一个能计算n阶行列式的通用程序:
```python
def det(matrix):
n = len(matrix)
if n == 1:
return matrix[0][0]
elif n == 2:
return matrix[0][0]*matrix[1][1] - matrix[0][1]*matrix[1][0]
else:
result = 0
for j in range(n):
sub_matrix = [row[:j]+row[j+1:] for row in matrix[1:]]
result += ((-1)**j)*matrix[0][j]*det(sub_matrix)
return result
```
这个程序使用了递归的思想,将行列式的计算转化为了对子矩阵的计算。当矩阵的大小为1或2时,可以直接计算行列式的值。对于更大的矩阵,我们可以选择第一行展开,然后递归计算子矩阵的行列式。最后将所有子矩阵的行列式乘以对应的系数相加即可得到行列式的值。
如果你有一个n阶矩阵A,可以通过调用det(A)来计算它的行列式。
阅读全文