矩阵
矩阵可以理解为向量的函数:
其他视角理解矩阵的乘法:
左逆矩阵和右逆矩阵(非方阵会存在这种情况):
使用numpy求逆矩阵:
# 逆矩阵
invA = np.linalg.inv(A)
print(invA)
print(invA.dot(A))
print(A.dot(invA))
矩阵和它的逆同型
用矩阵表示空间
使用列视角看矩阵相乘:
列视角矩阵相乘,几何的含义:
推广开来(对比向量空间来学习):
空间中其他向量可以由图中已知的两个线性无关的向量来进行表示。
看待矩阵的视角
-
数据(可忽略,不是线性代数研究的重点)
-
系统(线性方程组)
-
变换(向量的函数)
最后一个旋转变换,在同济的书上也有相关例题
-
空间
线性系统
二维空间中是一条线,在三维空间中是一个面
高斯消元
先让主元下面的元素都为0, 再让主元上面的元素都为0
关于方程个数>未知数个数的思考:
这种情况下未知数个数决定了矩阵的秩,系数矩阵变换成行最简矩阵的行数最多和未知数个数一致
比如二元函数,三个方程。二维空间下两个线性无关的向量可以表示任意其他向量,所以,这个方程组变换后最多可为两行
综合来讲:
求解矩阵的逆
以如下的方式求矩阵的逆时,可以看作求解方程,这个方程不可能有无数的解,要么有唯一的逆矩阵,要么不存在逆矩阵(系数矩阵行最简型有0行):
求出了右逆,那必然也是左逆
初等矩阵具有可逆性,即其所进行初等变换操作的逆操作
亦可加入命题列表。
矩阵的分解
矩阵的LU分解
主要针对方阵,也可以对非方阵进行分解。
走高斯消元的前半段过程(此过程中不能交换两行的顺序),U即为消元后的上三角矩阵,L则为对原矩阵所进行的初等变换的逆操作:
注意到下三角矩阵中标注的元素并没有化为15,是因为以及不是一一对应的,而是相反的
而所作的变换并不会对其后的变换有所影响,可以从后往前来,但不可应用前面的既得结论
![]()
上三角矩阵以及下三角矩阵对应的方程比较容易解,在计算机中一般使用LU分解来实现:
LDU分解
可以继续将U分解成单位上三角矩阵:
PLU分解
进行到如下的第三步,就无法进行LU分解,可以将3行和2行进行交换,亦可理解为在原矩阵基础上进行交换,所以可以对交换后的矩阵进行LU分解再左乘上置换矩阵P(用以两行交换)
从而有:
像这种矩阵,可以使用列交换:
列交换右乘示意图:
相当于每一列和前面的矩阵相乘后进行排列,故而交换单位矩阵的两列相乘所得的乘积也为原矩阵的两列交换
行变换同理:
上面的视角是将左乘的矩阵看成一行一行的,而右乘的矩阵看成一列一列的
以列视角看待左乘:
需要对所得列作加和操作。
在列的视角下看矩阵的乘法(与矩阵与向量的乘法有相似之处 => 可看作与多个向量相乘,得到的结果从多个向量相加变成了多个矩阵相加):