设A是数域上的一个n阶方阵,若在相同数域上存在另一个n阶矩阵B,使得: AB=BA=E。 则我们称B是A的逆矩阵,而A则被称为可逆矩阵。当矩阵A的行列式|A|不等于0时才存在可逆矩阵。
import numpy as npA = np.array([[1, -2, 1], [0, 2, -1], [1, 1, -2]])#np.linalg.det求方阵的行列式(如果行列式不等于0才存在可逆矩阵),使用linalg.inv求得方阵的逆矩阵if np.linalg.det(A):B = np.linalg.inv(A)print(B)#伴随矩阵C = np.linalg.det(A) * np.linalg.inv(A) 3.矩阵的秩 import numpy as npA = np.array([[1, -2, 1], [0, 2, -1], [1, 1, -2]])#返回矩阵的秩B = np.linalg.matrix_rank(A)print(B) 4.单位矩阵&反向单位矩阵 # 单位矩阵,type是ndarrayA = np.eye(3)"""[[1. 0. 0.][0. 1. 0.][0. 0. 1.]]"""print(A)# 自定义:斜对角矩阵(可构建数量矩阵)aEB = np.eye(3)*3.14"""[[3.14 0. 0. ][0. 3.14 0. ][0. 0. 3.14]]"""print(B)# 反向单位矩阵C = np.fliplr(A)"""[[0. 0. 1.][0. 1. 0.][1. 0. 0.]]"""print(C) 5.矩阵乘法矩阵乘法的相关数学定义参考
import numpy as npdef matrixDot(p1, p2):return np.dot(p1, p2)