Linear Algebra相关知识总结(1)

来源:互联网 发布:大众点评数据平台 编辑:程序博客网 时间:2024/06/06 07:39

Linear Algebra相关知识总结

本分类下的文章是基于麻省理工公开课:线性代数,对课程中的每一个章节做相应的总结。课程一共有35个课时,这里会以5个课时为单位进行总结。该分类总共会写8节,包括7节的章节总结和一节的总概括。

This chapter is summary of video —— MT Open Class : Linear Algebra, which has 35 lessons.I summarize every 5 lessons. There are 8 chapters contains 7 single summary and one completely summary.

一:方程的几何解释

在开始之前,先贴一下本章的核心:
The fundamental problem of linear algebra, which is solve a linear equations.(线性代数的核心是解线性方程)

本节的总结是默认N元方程组有N个方程来看待的。实际的话该条件是不成立的,这里一次为前提是为了便于讲解不同视图下方程的几何意义。

后文的所有总结都是以如下的方程为例的:

{2x+y=0x+2y=0

1.1:矩阵视图

[2112][xy]=[03]

根据矩阵的乘法,我们可以通过将上边的公式进行计算,得出前边给的实例方程组。这个就是方程组的矩阵表示形式。我们还可以根据这个推断出N元线性方程的矩阵表示像是如下。这样我们在后续遇到的线性方程组都可以将其转换为矩阵,然后从矩阵的角度去思考问题。这也是线性方程组的一个核心点。

这里我们将从左到右的三个矩阵依次称为系数矩阵——A;位置变量——x;期望值——b。那么我们就会得到我们在后续总结中常见的一个公式Ax=b

1.2: 列视图

x[21]+y[12]=[03]

这个是将方程组的系数以列为单位进行抽离,将列抽象为一个向量。我们将从左到右的三个分别称为向量A、B、C。那么具体的含义就是我们如何将向量A与向量B进行指定的结合生成向量C。

我们可以将向量A、B在直角坐标系中绘制出来,然后绘制出向量C。那么我们就可以在途中大概找到x、y的值。

从该视图看解N元方程的含义就是:在N维坐标系中怎么计算N个N维向量然后得到指定的向量。

1.3:行视图。

行视图最简单,就是将每个方程代表的图形在相应的坐标系中绘制出来即可。本例给的是一个二元方程组,那么视图就是将方程代表的直线在直角坐标系绘制出来。
从该视图看解N元方程组的含义:找到在N维坐标系中,每个方程代表的图形相交的部分。

1.4:总结
从不同的角度讲解了一个方程的含义,从几何的角度讲解求解一个方程组的几何本质以及几何的表示。而这个将会在后续的讲解中起到很重要的作用。是线性代数的基础。

二:矩阵消元

消元法(Elimination)是我们解N元一次方程组最好的方法。 这里主要讲解通过矩阵的形式实现消元法,而这个操作的核心就是矩阵变换(Matrix Operations)。

本节将以如下方程组以及其矩阵形式作为本次总结的事例:
原方程及其矩阵形式如下:

x+2y+z=23x+8y+z=124yz=2130284111xyz=2122 <=>Ax=b

矩阵与向量的乘积是“矩阵列的线性组合”

2.1:主元与消元
在了解消元法之前首先要掌握一个概念——主元(Pivot Element)

百度的解释是主元,说的通俗一点就是,位于矩阵对角线上的都是主元,主元是在消元过程中起主导作用的元素。消元之后,矩阵中位于主元以下的值都为0,主元的值为都不为0,如下所示(对角线上的值都不为0,注意这里的对角线上的值是指该值在矩阵中的位置行和列坐标相同,而非集合意义中的对角线,主要针对矩阵的行列数不一致的矩阵):

X110..0X12X22...0............X1nX2n...Xmn

例如:A经过消元后的结果如下:

100220125

上边矩阵中1就被称为主元

我们将上边的两个矩阵称为上三角矩阵(Upper Triangle)——称为矩阵U。那么矩阵的消元就可以看作通过原矩阵——A,获取到指定矩阵U的过程。而通过这个形式可以很容易的计算行列式——等于各主元的乘积。

2.2:行变换

矩阵的行变换包括:交换矩阵中的任意两行;矩阵的第i行的n倍与第j行的m倍相加作为第j行新的数据。

通过矩阵的形式描述行变换。
首先我们分析我们对矩阵A消元的话,需要执行的步骤有:row 2 = row1 * 3 - row2; row3 = row2*2 - row3。那么根据矩阵的乘法,我们可以将将其转换为如下的矩阵:

030010000<=>E1<=>row13row2000002001<=>E2<=>row22row3

整体的表达式如下:

130010001100012001130284111=100220125

这个表达式是对矩阵A进行消元的步骤。

通过运算,你会发现E1 A的结果就是第一步进行行转换之后矩阵的结果;同理E2 E1 A的结果就是矩阵执行了两步行变换之后的结果——即消元之后的结果。

规律:如果对矩阵进行行变化,那么通过矩阵相乘的方式来计算的话。转换矩阵E与A相乘时必须是EA而非AE。两个矩阵相乘时,顺序不同求出的结果也会不同。

2.3:列变换

在矩阵消元的过程中,是不会遇到列变换的问题,但是在后续的过程中是会遇到列变换的问题。这里先举个列子,我们需要对矩阵A的执行col 2 = col1 * 3 - col2,即矩阵第二列的值等于矩阵第一列的三倍与第二列值的差,其表达是如下:

130284111100310001=130114111<=>AE=M

列变换与行变换的:

  • 行变换是一个矩阵Q乘以矩阵A,而列变换是矩阵A乘以一个矩阵P。
  • 实现行变换的矩阵Q是在单位矩阵的基础上修改待改变的某一行,例如E1改变矩阵A的是第二行,那么E1就是在单位矩阵的基础上对第二行的参数进行相应的修改;而列变换则是修改对应的列。

2.4:消元
消元的过程其实就是对矩阵进行行变换处理的过程,使其转变为上三角矩阵。

2.5:增广矩阵
将向量b作为A新的一列添加A产生的矩阵就称为增广矩阵。如下所示:

1302841112122

2.6:回归(substitution )
接下来说回归:说的通俗一点回归就是一个解方程的过程。

经过回归处理过后的方程及其矩阵形式如下:

x+2y+z=2     2y2z=6              5z=10100220125xyz=2610 <=>Ux=c

对比上边的两个方程的矩阵形式Ax = b 和Ux = c 。你会发现U是A的上三角矩阵,也就是A矩阵消元过后的结果。而矩阵A变换成矩阵B的过程是一个行变换的过程;而行变化可以通过矩阵的乘法表示,假设代表了A要进行行变换的操作的矩阵为E, 那么EA = U。同理Eb = c。那么就得到了我们在计算机中怎么求解一个方程组的过程。

2.7转换成编程的步骤
1. 在计算机中用系数矩阵A,未知变量矩阵x,以及结果矩阵b这3个矩阵来代表一个待求解方程组。
2. 获取A与b的增广矩阵。
3. 对增广矩阵进行消元,得到上三角矩阵。
4. 倒序依次求解出相应未知变量的值即可。

三: 乘法和逆矩阵

3.1 矩阵乘法公式

假设AB = C。即矩阵A与矩阵B的乘积为矩阵C。那么矩阵A、B、C需满足以下条件:

AmnBnp=CmpCij=k=1pAikBkj

3.1.1 以矩阵A的行与矩阵B相乘的方式

当i值一定时,这里以i=1为例,我们得到:

C1j=k=1pA1kBkj

我们就得到了:
C1j=k=1pA1kBkj<==>D=MN

而上述公式可以看作是向量D等于向量M乘以矩阵N。依次类推,我们可以得到矩阵C中的各行是矩阵B的线性组合。

3.1.2 以矩阵A与矩阵B的列相乘的方式

根据3.1.1我们这里将把j的值固定,可以得到矩阵C中的各列是矩阵A中各列的线性组合。

3.1.3 以矩阵A的列与矩阵B的行相乘

当k的值固定的时候,这里以k=1为例:

Cij=Ai1B1j

及我们得到了一个i行j列的矩阵。具体请看如下的事例:

234789[1060]=234[16]+789[00]

3.1.4 分块乘法

分块矩阵的乘法与基本矩阵的乘法一样。

3.1.5 总结

这里从不同的方式讲解了矩阵的乘法,但是大部分人说我只需要知道第一个就行了,后边讲解的没有什么用。如果你只是单纯的想,结果是这样的,但是这里我们需要了解矩阵乘法的一些内在东西的话是需要尝试去理解这几种的。因为矩阵对应的编程来说,它更多偏向于线性组合,一行的矩阵可以看作一个向量,而我们把它在几何中表示,它可以代表一个很多,而一个多行多列的矩阵,这可以代表不同纬度的东西,这个在前边已经总结过了。笔者觉得这块的总结可能不是太好,但是暂时没能想到更好的表达方式,所以先这样,如果以后有更深一步的理解笔者会做相应的修改。

3.2 逆矩阵(Inverses of square matrix )

逆矩阵又被称为奇异矩阵(nonsingular matrix)
逆矩阵的定义是:AB = BA = E。那么B称为A的逆矩阵。

A1A1A=I(IA

3.2.1 左逆与右逆

A1A=IA1AAA1=IA1A
如果A为方阵的话,那么A的左逆与右逆是相同的;如果A不为方阵那么左逆与右逆是不想等。

3.2.2:奇异矩阵(singular matrix)

奇异矩阵就是没有逆矩阵的矩阵。

  1. 矩阵的行列式为0
  2. 由于矩阵的逆矩阵与矩阵的乘积为单位矩阵,根据前一章矩阵的乘法我们得到,矩阵乘积中的某一列必须是矩阵本身列的倍数,所以当矩阵中出现两个列,相互之间是倍数的关系的话,那么该矩阵不可逆。

如果一个矩阵为奇异矩阵那么该矩阵满足AX = 0.存在一个非零矩阵是X=0;

3.2 求解逆矩阵

我们可以结合矩阵乘法中3.1.3的内容以及矩阵消元中的内容,我们可以把求解逆矩阵的过程看作是求解方程的过程。这里不做进一步的解释。

四:A的LU解

4.1 A=LU和EA = U

假设A是一个非奇异矩阵,且所有的主元位置都不为空,U为A消元后的结果。这里我们将以一个3*3的矩阵消元的过程来探讨一些关于矩阵更深入的问题。

A3E23E13E12A=U<==>EA=U
A=LU=E(1)12E(1)13E(1)23U.

两者的主要区别请看如下的例子:

E21=120010001,E32=100015001

E32E21120010001100015001=1210015001

E(1)13E(1)23120010001100015001=120015001

从上变可以推断出A=LU和EA=U两种消元的表达方式,L显然看起来更加的舒服,因为不同行的转换之间没有影响。不会出现如EA=U这种-2*-5=10的现象。

4.2 n*n矩阵要执行多长时间?

给步骤的前提与4.1是一样的:

:n2+...+12

五:向量空间(Spaces Vector)

5.1 置换矩阵(Permutations)

第4章大多数情况下,我们是在矩阵A不需要进行任何的行变换的情况下就可以进行消元的情况。但是在实际的过程中是存在需要我们进行行变换的情况,所以这里将A=LU写为PA=LU的形式。A代表需要消元的矩阵;P是A的行进行重新排列之后以满足消元基本条件的单位矩阵;L可以在第4章中找到相应的说应;U是最终消元的结果。

置换矩阵(Permutations)就是行重新排列之后的单位矩阵。置换矩阵P与任意一个矩阵的乘积:PX的结果的实际意义,是对X进行了有单位矩阵变成P相同的行操作。

N阶单位矩阵的变换结果有:n!(n的阶乘)种变换。

5.2 转置(Transpose)

ATij=Aji

5.3 对称矩阵(Symmetric Matrices)

ATij=AijATA=SymmetricMatrices

5.4 向量空间(Vector Spaces)

R2xyR3...Rnnn

5.4.1 子空间(Sub Vector Spaces)

非向量空间是只包含指定向量空间中的某一部分的空间,而不包含整个空间,又被成为子空间,这个子空间使我们大多数情况下需要关注的。

5.4.2 总结

经过分析,我们可以得出对向量进行计算——加法和乘法,所得结果都在相应的向量子空间上。对于一个矩阵A,它的每一列我们都可以看作是一个向量。

所以我们可以得出一个结论:所有的线性组合构成一个子空间。(我们把这个称为列空间)


阅读全文
0 0
原创粉丝点击