一、前提介绍
设A是数域上的一个n阶方阵,若在相同数域上存在另一个n阶矩B,使得: AB=BA=E。 则我们称B是A的逆矩阵,而A则被称为可逆矩阵。其中,E为单位矩阵。
数学上求解方法可以通过:初等变换法、伴随阵法、定义法和恒等变形法
二、矩阵求逆(非奇异矩阵)
1.矩阵求逆
1.1对应matlab中inv()函数
a = np.array([[2, 2], [3, 4]])
print(np.linalg.inv(a))
1.2矩阵对象可以通过.I更方便的求逆
A=np.matrix(a)
print(A.I)
三、 矩阵求伪逆(奇异矩阵)
A=np.zeros((4,4))
A[0,-1]=2
A[-1,0]=-1
A=np.matrix(A)
print(A)
[[ 0. 0. 0. 2.] [ 0. 0. 0. 0.] [ 0. 0. 0. 0.] [-1. 0. 0. 0.]]
因为它的行列式等于零所以是奇异矩阵。
print(A.I)这个代码就会报错。错误是这样:
Singular matrix
那就求伪逆:
print(np.linalg.pinv(a))
四、矩阵的转置.T
a = np.array([[2, 2], [3, 4]])
a.T