首页 » 机器学习 » 线性代数--消元与矩阵的关系

线性代数--消元与矩阵的关系

 

Elimination Using Matrix

本节的主要目的就是告诉你,小子,矩阵是用来解方程的,你会算行列式只能考上研究生,哈哈哈(博主吃不到狐狸说葡萄酸)
来个方程:

⎡⎣⎢x1x2x3⎤⎦⎥[x1x2x3]

是一个n维空间(space),在这个空间里,我们找一个特定或者若干个特定的vector使得Ax=bAx=b成立
根据row picture,和column pictur
:

Ax=col(1)x1+rcol(2)x2++col(n)xnAx=col(1)x1+rcol(2)x2+⋯+col(n)xn

所以,Ax的第j行的元素结果是

(Ax)j=col(j,1)x1+rcol(j,2)x2++col(j,n)xn(Ax)j=col(j,1)x1+rcol(j,2)x2+⋯+col(j,n)xn

观察上面的式子不难发现,Ax的第j个元素就是A的第j行和x的乘积
that is

j=inajixi∑j=inajixi

各位注意啦,这步放在这里主要是为了后面算矩阵乘以矩阵的,虽然看起来有点啰嗦,但是这样下来整个思路是完整的,不会出现漏洞

Matrix form

还是刚才说的,这节就是把消元的所有动作集成在一个矩阵里,我们的目的是

Ax=bEAx=EbUx=EbAx=bEAx=EbUx=Eb

U是上三角矩阵
目标明确以后,对于上面的图片中的矩阵,我们开始消元,第一步,第二个方程-2*第一个方程
得到的右侧b:

bnew=⎡⎣⎢2410⎤⎦⎥bnew=Ebbnew=[2410]bnew=Eb

没错我们关系E是个啥,先给出E,求解E的过程看后面。

E=⎡⎣⎢120010001⎤⎦⎥E=[100−210001]

算下Eb的结果,row picture或col picture给出的答案都是bnewbnew
不错,起码这个E是我们要找的变换矩阵。观察一下E,发现E是从II变形来的,把其中一个改成要乘以的那个系数的负数,比如我们要减去2倍的第一行,就把某个位置改成-2。但是具体改哪个位置是个关键:改的位置就是被减去的那一行的减去那一行的行的那一列,怎么样,迷糊没,迷糊就对了
E的第2行第1列是-2:我们要消去的是原矩阵A的第二行,的第一列元素

Eb=bnew⎡⎣⎢120010001⎤⎦⎥⎡⎣⎢b1b2b3⎤⎦⎥=⎡⎣⎢b1b22b1b3⎤⎦⎥Eb=bnew[100−210001][b1b2b3]=[b1b2−2b1b3]


这个过程全靠自己领悟,如果这两种语言你都没明白,那就过几天再看一遍吧。

Matrix Multiplication

我在考虑要不要新开篇,一想还是算了吧,新写一篇还要写开篇废话,麻烦死。
我们学会了矩阵乘以向量,那么矩阵乘以矩阵就是要解决上面那个EA的问题,
先说几个矩阵乘法的性质:

A(BC)=(AB)CoftenABBAAB=A[b1b2b3]=[Ab1Ab2Ab3]A(BC)=(AB)CoftenAB≠BAAB=A[b1b2b3]=[Ab1Ab2Ab3]

这上面这个是乘法法则比较重要的一条,下一篇有详细介绍,包括乘法的具体算法,本篇只是大体观察一下乘法性质

Row Exchange

Permutation Matrix也是从II演变出来的一种矩阵,其主要作用是交换矩阵的两行
eg:交换第二和第三行

⎡⎣⎢100001010⎤⎦⎥⎡⎣⎢123234345⎤⎦⎥=⎡⎣⎢132243354⎤⎦⎥[100001010][123234345]=[123345234]

没错,就这么神奇,不信自己慢慢算,交换可以用矩阵表示,之前的行之间的减法也可以用矩阵乘法,那么说Elimination基本可以用矩阵连续想成表示,比如我想消元之后再换行

PEA=PEbPEA=PEb

这样就能得到一个可以back的upper triangular matrix了,或者更多的P和E。。。

Augmented Matrix

把b也放到A里面,放最后一列,那么矩阵就不是方阵了:

⎡⎣⎢2424932372810⎤⎦⎥[24−2249−38−2−3710]

conclusion

所以消元可以通过在A矩阵前面乘以一些列的变换,换行矩阵,得到最后的上三角矩阵

U=PnEmP2E2P1E1AU=PnEm⋯P2E2P1E1A

乘法的外表一些基本性质就是这些

原文链接:线性代数--消元与矩阵的关系,转载请注明来源!

0