矩阵的逆是指矩阵在某种运算下的逆元,数学表达式为:

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

这里通过对数据四舍五入来省去不必要的精度。