矩阵的逆是指矩阵在某种运算下的逆元,数学表达式为:
其中,
为原矩阵,
为逆矩阵,
为单位矩阵。
在数学上,求逆矩阵的方式有很多种,这些方法也可以判断矩阵是否可逆。由于本题明确输入是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()