一、内容简介
使用Python求解2 * 2矩阵的逆矩阵。
二、求解方法
我们使用邻接矩阵法来求解2 * 2矩阵的逆矩阵。
det(A): 矩阵A的行列式
adj(A): 矩阵A的邻接矩阵
对于2*2矩阵A
我们有
三、Python代码
基于上述求解方法,我们可以写出Python代码如下:
# 导入相关包
import numpy as np
from numpy import shape
A = np.zeros((2, 2), dtype=float) # 定义矩阵A
print(A)
print(shape(A))
# 用户输入矩阵A
print("Enter Matrix A: ")
for i in range(0, 2):
for j in range(0, 2):
A[i][j] = float(input()) # 默认输入值为浮点类型
# 计算A的行列式值
det_A = A[0][0]*A[1][1] - A[1][0]*A[0][1]
print("Determinant of A: ")
print(det_A)
# 如果A的行列式不为0
if det_A != 0:
A_inv = np.zeros((2, 2), dtype=float)
print(A_inv)
print(shape(A_inv))
# 计算A的逆矩阵
A_inv[0][0] = A[1][1] / det_A
A_inv[0][1] = -A[0][1] / det_A
A_inv[1][0] = -A[1][0] / det_A
A_inv[1][1] = A[0][0] / det_A
print("Inverse matrix of A: ")
print(A_inv)
# det(A) = 0,说明A没有逆矩阵
else:
print("A has no inverse matrix")
四、运行实例
例1:
A为2阶单位矩阵I2:
程序求解结果:
例2:
A为一般2 * 2浮点矩阵:
程序求解结果(保留5位小数):
例3:
A为一般浮点矩阵,但det(A)=0:
程序输出: