题目
矩阵的逆是指矩阵在某种运算下的逆元,数学表达式为:
A
×
A
−
1
=
I
A \times A^{-1} = I
A×A−1=I
其中,
A
A
A 为原矩阵,
A
−
1
A^{-1}
A−1 为逆矩阵,
I
I
I 为单位矩阵。
在数学上,求逆矩阵的方式有很多种,这些方法也可以判断矩阵是否可逆。由于本题明确输入是2*2的矩阵,所以可以使用行列式来判断矩阵是否可逆。
标准代码如下
def inverse_2x2(matrix) :
# 补全代码
a, b, c, d = matrix[0][0], matrix[0][1], matrix[1][0], matrix[1][1]
determinant = a * d - b * c
if determinant == 0:
return None
inverse = [[d/determinant, -b/determinant], [-c/determinant, a/determinant]]
return inverse
当然,也可以使用numpy库中的inv方法来简化计算
def inverse_2x2(matrix) :
import numpy as np
if np.linalg.det(matrix) == 0:
return None
return np.round(np.linalg.inv(matrix), 2).tolist()