LinearAlgebra_1

1.方程组的几何解释

linear equation

线性代数来源于线性方程组。 考虑线性方程组如下:

{2x−y=0−x+2y=3

\begin{cases} 2x-y=0\\ -x+2y=3 \end{cases}

写成矩阵形式为:

[2−1−12]∗[xy]=[03]

\begin{bmatrix}2 & -1 \\-1 & 2\end{bmatrix}* \begin{bmatrix}x\\y\end{bmatrix}= \begin{bmatrix}0 \\ 3\end{bmatrix}

矩阵的形式记做

AX=b

AX=b

对于该线性方程组或者对应的系数矩阵来说,有两种理解方式

  • row picture
  • column picture

row picture

所求的(x,y)(x,y),可以被视为每一行所构成的超平面的交点。

column picture

所求的(x,y)(x,y),可以被视为每一列的线性组合得到bb。

矩阵计算的两种方法

AX=b

AX=b 有两种计算bb的方法 1. A每一列的线性组合,参数是X的列向量 2. A的行与X的列的点积

some questions

Q: 对A来说什么样的线性组合可以得到bb -> 求解X的问题 是否针对任意bb,都可以找到AA的列向量的线性组合与其对应 ->解的存在问题 AA的列向量的线性组合所构成的向量空间是什么样的 -> 解的存在问题,如果包含了所有b的响亮空间,那么对任意b解肯定存在

A: 只要矩阵是非奇异,可逆的矩阵(non-singular,invertible),那么X肯定有解,也就是针对任意b都能找到对应A的线性组合的X,也就是A的线性组合构成了整个解空间。

需要思考的其他问题

什么情况下X无解,无解的情况其几何意义又是什么呢? 消元法(elimination)

矩阵消元

回顾

之前讨论了线性代数的由来——线性方程组的求解问题。

线性代数矩阵形式的解有两种理解,一种是row picture,理解成不同超平面的交点;另一种是column picture,理解成矩阵列的线性组合。

那么,对于b,解是否存在呢。可以理解成矩阵A的列的线性组合是不是能够包含整个解空间。如果包含整个解空间,那么对于任意的b解肯定都是存在的。否则的话得看对应的b是不是在这个解空间中。

那么,解是否唯一呢。得看矩阵A的列的情况,如果矩阵A的列不存在线性组合的等式那么解存在等于解唯一,否则不唯一。

主题

那么,具体的解是什么呢? 用什么方法求解呢?

Elimination–Sucess and Failure BackSubstitution Elimination Matrix Matrix Multiplication

消元成功与失败

elimination是求解矩阵解的重要方法,matlab就是用这个的哦! 利用elimination,既可以判断解是不是存在,还可以判断解唯不唯一。

⎡⎣⎢100010001⎤⎦⎥

\begin{bmatrix}1 & 0 & 0\\0 & 1 & 0\\0 & 0 & 1\end{bmatrix} 这种情况下,解肯定存在并且是唯一的。 消元成功,pivot没有0的现象。

⎡⎣⎢100010000⎤⎦⎥

\begin{bmatrix}1 & 0 & 0\\0 & 1 & 0\\0 & 0 & 0\end{bmatrix} 这种情况下,解不一定存在,即使存在解也不唯一。 消元失败,pivot出现0的现象。

⎡⎣⎢100010001000⎤⎦⎥

\begin{bmatrix}1 & 0 & 0 & 0\\0 & 1 & 0 & 0 \\0 & 0 & 1& 0\end{bmatrix} 这种情况下,解肯定存在但是不唯一。 消元成功,pivot没有0的现象。

一般来说,我们喜欢好的矩阵,好的矩阵就是可以消元成功,主元都不是0的矩阵,这样的矩阵解肯定存在所以喜欢啊。

举个例子

AX=b

AX=b

A=⎡⎣⎢130284111⎤⎦⎥

A = \begin{bmatrix}1 & 2 & 1\\3 & 8 & 1\\0 & 4 & 1\end{bmatrix} 将A进行消元,首先r1不变,r2-3*r1,得到

A′=⎡⎣⎢1002241−21⎤⎦⎥

A' = \begin{bmatrix}1 & 2 & 1\\0 & 2 & -2\\0 & 4 & 1\end{bmatrix}

r1不变,r2不变,r3-2*r2得到

A′′=⎡⎣⎢1002201−25⎤⎦⎥

A'' = \begin{bmatrix}1 & 2 & 1\\0 & 2 & -2\\0 & 0 & 5\end{bmatrix}

这样以后,就得到了消元后的矩阵,因为主元都不是0,所以认为是好的矩阵,这个矩阵包含了所有三维空间,所以对于任意b解肯定都是存在的。 这个矩阵叫做上三角矩阵,其行列式为主对角元的乘积。 Matlab解矩阵的时候,也是先不考虑b,直接先计算A的消元过程的。

同时,考虑一下,碰到主元为0怎么办,可以行交换,直到主元下面都为0时,这时候消元失败。

BackSubstitution

消元后得到了消元矩阵,考虑b如果一起消元的话,最后会得到

A′′=⎡⎣⎢1002201−25|||26−10⎤⎦⎥

A'' = \begin{bmatrix}1 & 2 & 1& | & 2\\0 & 2 & -2& | & 6\\0 & 0 & 5& | & -10\end{bmatrix}

这个包含b的矩阵叫做增广矩阵(augumented matrix)。 根据这个增广矩阵,可以解出X。

EliminationMatrix

上面的消元过程,采用的是每一行的加减乘除运算,那么,能不能采用矩阵变换的形式呢? 答案是可以的。

首先,回顾下矩阵的右乘,等于矩阵列的线性组合。

[acbd]∗[xy]=x∗[ac]+y∗[bd]

\begin{bmatrix}a & b \\c & d \end{bmatrix} *\begin{bmatrix}x \\y\end{bmatrix} = x*\begin{bmatrix}a \\c \end{bmatrix} + y*\begin{bmatrix} b \\d \end{bmatrix} 那么,消元的过程是矩阵行变换的过程,其等效于矩阵的左乘,等于矩阵行的线性组合

[xy]∗[acbd]=x∗[ab]+y∗[cd]

\begin{bmatrix}x & y\end{bmatrix} * \begin{bmatrix}a & b \\c & d \end{bmatrix} = x * \begin{bmatrix}a & b\end{bmatrix} + y * \begin{bmatrix}c & d\end{bmatrix}

总结起来,右乘一个列向量代表矩阵列的线性组合,左乘一个行向量代表矩阵行的线性组合。

那么,单位矩阵也就是不论左乘还是右乘都不会改变原来的矩阵,下面的两个矩阵分别可以以右乘还有左乘的观点来看。

[acbd]∗[1001]

\begin{bmatrix}a & b \\c & d \end{bmatrix} *\begin{bmatrix}1 & 0\\0 & 1\end{bmatrix}

[1001]∗[acbd]

\begin{bmatrix}1 & 0\\0 & 1\end{bmatrix} * \begin{bmatrix}a & b \\c & d \end{bmatrix}

同理,置换矩阵就是将对应的行交换,也是根据左乘表示行的线性组合的道理来看的。

消元的过程,也可以表示成原来的矩阵A,不断左乘矩阵,进行行变换的结果。 左乘的矩阵叫做初等矩阵,elementary matrix

因此,消元的过程可以表示为:

E32E31E21A=U

E_{32}E_{31}E_{21}A=U

MatrixMultiplication

上面的讨论,看到通过对矩阵A,不断进行左乘的初等行变换,能够得到上三角矩阵,完成消元过程。 那么,思考这个步骤可不可以一步到位,直接得到

E=E32E31E21

E = E_{32}E_{31}E_{21}

使得

EA=U

EA=U

矩阵乘法满足结合律associative low,不满足交换律commutative low

上面,讨论了如何通过A得到U,那么反过来如何通过U得到A呢。

考虑初等变换E21E_{21},

⎡⎣⎢130010001⎤⎦⎥∗⎡⎣⎢1−30010001⎤⎦⎥=⎡⎣⎢100010001⎤⎦⎥

\begin{bmatrix}1 & 0 & 0 \\ 3 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} * \begin{bmatrix}1 & 0 & 0 \\ -3 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} = \begin{bmatrix}1 & 0 & 0 \\ 0 &1 & 0 \\ 0 & 0 & 1 \end{bmatrix}

E−1E=I

E^{-1} E = I

乘法和逆矩阵

回顾

上面,首先介绍了消元。通过消元,我们可以知道对应的解是否存在,如果存在对应的解是多少。 同时,矩阵乘法的思考方式,可以从右乘列的线性组合以及左乘行的线性组合两个角度去考虑问题。

主题

矩阵乘法,4种思考方式 矩阵的逆,是否存在,如果判断思考逆矩阵的存在性 Gauss-Jordan法,通过增广矩阵,计算逆矩阵

矩阵乘法的五种考虑

对于矩阵

AB=C

AB=C 其中,A∈Rmn,B∈Rnp,C∈RmpA \in \mathbb{R}^{mn},B \in \mathbb{R}^{np},C \in \mathbb{R}^{mp}

by element

C中的每一个元素都等于A中对应的行乘以B中对应的列。 这是最普通的一种方法。

by column

C的第i列可以看做A中不同列的线性组合(所以C的行数肯定得和A的行数相等啊),线性组合的参数是B的第i列。

by row

C的第i行可以看做是B的所有行的线性组合,线性组合的参数是A的第i行(所以C的列数肯定得和B相等啊)。

by column*row

A的向量列乘以B的向量行,可以直接得到完整的C形状。

比如A,B都是维度为2的square matrix。 那么,只需要计算两次列乘以行,然后相加就可以啦。

by factor

可以block,然后不同的block按照矩阵乘法的规则进行计算。

矩阵的逆存在性与解释

矩阵逆的物理意义就是,通过行变换(或者列变换)得到了一个东西,然后在通过行变换变回去。 如果可以变回去,那么矩阵的逆就是存在的啊。

矩阵逆的性质:

  • 左逆等于右逆
  • 逆矩阵的原矩阵都是non-singular, invertible
  • 行列式都不等于0

矩阵的逆为什么不存在,不存在究竟意味着什么?

[1236]∗[acbd]=[1001]

\begin{bmatrix}1 & 3\\2 & 6\end{bmatrix} * \begin{bmatrix}a & b \\c & d \end{bmatrix} = \begin{bmatrix}1 & 0\\0 & 1\end{bmatrix}

  • 查看列的线性组合,列的线性组合还是一条直线,所以无法得到对应的向量
  • square matrix的逆如果存在,说明肯定能够变换到II,那么说明了原矩阵的线性组合覆盖了所有的变量空间,因此如果有的基底浪费了,也就是发生了AX=0AX=0的情况(原矩阵各个列之间存在线性组合为0),那么肯定不能构成所有的向量空间,逆也就一定不存在了。
  • AX=0AX=0假设逆存在,得到X=0。所以如果不为0的X使得AX=0AX=0,那么A的逆矩阵肯定不存在。
  • 将矩阵看做是行变换或者是列变换,逆存在也就是可以变回去,也就是在变换的过程中不能丢了原始的信息

矩阵逆什么时候存在,存在意味着什么?

对于矩阵

[1237]

\begin{bmatrix}1 & 3\\2 & 7\end{bmatrix} 7意味着上帝7天创造了世界,7天创造了亚当,用亚当的第7根肋骨创造了夏娃。

可逆意味着 1. 行列式不等于0 2. 矩阵的列可以线性组合得到完整的n维空间

矩阵逆的求解

矩阵的逆很重要,其解释参考上文。 下面讨论逆的计算。

[1237]∗[acbd]=I

\begin{bmatrix}1 & 3\\2 & 7\end{bmatrix} * \begin{bmatrix}a & b\\c & d\end{bmatrix} = I

还是按照A的列的组合的方式,拆开成两个方程组,每个方程组包含两个未知数。

Gasuu-Jodan的方法,是将这两个方程组同时解。 其理念,可以概述为

[A|I]=[I|A−1]

[A | I] = [I | A^{-1}] 其中,A变换到U主要是Gauss的贡献,U变换成I主要是Jordan的贡献。

这么做的根据市,行变换相当于不断左乘初等矩阵。

E∗[A|I]=[I|A−1]

E*[A | I] = [I | A^{-1}] 这样,用Gauss-Jordan解出了逆。

A的LU分解

回顾

上篇主要讲解了逆矩阵,逆矩阵的物理意义就是原来的矩阵还可以变换回去。如果AX=0AX=0,那么逆矩阵不存在,因为原有矩阵A存在线性相关的列,也就是有一部分列被浪费了,无法构成完整的空间。 同时,还讲解了逆的求解。逆的求解,采用Gauss-Jordan法,通过不断地行变换求出来。

E∗[A|I]=[I|A−1]

E*[A | I] = [I | A^{-1}]

主题

首先,回顾了矩阵逆的一些性质 然后讲了EA=UEA=U,但是因为另外一种形式的更好性质,既可以根据变换,不用计算直接得到E−1E^{-1} 有A=LUA=LU,并对初等变换的的复杂度进行了分析。 最后,考虑了在初等变换出现行交换的情况,具体探讨了置换矩阵的特点与性质。

特殊矩阵的逆矩阵

ABAB的逆矩阵是B−1A−1B^{-1}A^{-1} ABAB的转置是BTATB^TA^T ATA^T的逆矩阵是(A−1)−T{(A^{-1}})^{-T}

初等变换矩阵E的乘积

首先,回顾下初等变换EA=UEA=U,AA通过行变换变成了上三角矩阵UU。

[1−401]∗[2817]=[2013]

\begin{bmatrix}1 & 0\\-4 & 1\end{bmatrix} * \begin{bmatrix}2 & 1\\8 & 7\end{bmatrix} = \begin{bmatrix}2 & 1\\0 & 3\end{bmatrix} 但是通常,写作A=LUA=LU或者进一步写成A=LDUA=LDU,L=E−1L=E^{-1},也就是

[2817]=[1401]∗[2013]=[1401]∗[2003]∗[11/203]

\begin{bmatrix}2 & 1\\8 & 7\end{bmatrix} = \begin{bmatrix}1 & 0\\4 & 1\end{bmatrix} * \begin{bmatrix}2 & 1\\0 & 3\end{bmatrix} = \begin{bmatrix}1 & 0\\4 & 1\end{bmatrix} * \begin{bmatrix}2 & 0\\0 & 3\end{bmatrix} * \begin{bmatrix}1 & 0\\1/2 & 3\end{bmatrix}

A的LU分解

下面考虑三维的情况,A经过初等行变换变成U(no row exchange)

E32E31E21A=U

E_{32}E_{31}E_{21}A = U 也就是

EA=U

EA=U 进行A的LU分解,也就是

A=E−1U=LU

A = E^{-1}U=LU 用LU分解的好处主要是变换不会产生冲突,L不需要计算(E需要计算每个小E的乘积),直接带入系数就可以了。

比如先来看E32E21=EE_{32}E_{21}=E

⎡⎣⎢10001−5001⎤⎦⎥∗⎡⎣⎢1−20010001⎤⎦⎥=⎡⎣⎢1−21001−5001⎤⎦⎥

\begin{bmatrix}1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & -5 & 1 \end{bmatrix} * \begin{bmatrix}1 & 0 & 0 \\ -2 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} = \begin{bmatrix}1 & 0 & 0 \\ -2 &1 & 0 \\ 10 & -5 & 1 \end{bmatrix} 再来看E−121E−132=LE_{21}^{-1}E_{32}^{-1}=L

⎡⎣⎢120010001⎤⎦⎥∗⎡⎣⎢100015001⎤⎦⎥=⎡⎣⎢120015001⎤⎦⎥

\begin{bmatrix}1 & 0 & 0 \\ 2 &1 & 0 \\ 0 & 0 & 1 \end{bmatrix}* \begin{bmatrix}1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 5 & 1 \end{bmatrix} = \begin{bmatrix}1 & 0 & 0 \\ 2 &1 & 0 \\ 0& 5 & 1 \end{bmatrix} 也就是说,使用L而不使用E,可以避免冲突产生10,另外2和5的系数都是进行变换的时候本行系数的倒数,也比较好记忆。 此外,通过L,可以把每一步的所有初等变换,也就是所有的EE都能够看到。比如上面例子中的是先−2∗r2−r1-2*r2-r1,再−5∗r3+r2-5*r3+r2。 L,代表了所有的变换过程,A代表变换前的原始过程,U代表变换后的上三角矩阵。

LU分解的复杂度

考虑整个的A=LU的分解过程,其实质也就是矩阵A消元的过程,下面仅计算A得到U的过程,也就是消元过程的复杂度,得到了消元过程L也自动求出来啦。(不考虑行交换的过程)

对于n∗nn*n的矩阵,每加乘一次算一次运算,比如2*3+5就算一次运算。

那么,大约需要∑nk=1k2\sum_{k=1}^n k^2运算,也就是13n3\frac{1}{3} n^3(考虑微积分是连续情况下的求和,线代是离散情况下的) 如果再考虑bb,进行增广矩阵的消元,那么需要13n3+12n2\frac{1}{3} n^3+ \frac{1}{2}n^2次运算 所以说,计算的复杂度上,A的复杂度高于b的复杂度。

置换矩阵

上面讨论的都是row不可以交换的情况,如果可以交换,那么交换的矩阵就叫做置换矩阵,permutation matrix

对于3*3的矩阵,置换矩阵一共有1+3+2=6个。 置换矩阵有一些性质,在这个置换矩阵群里面(3*3的群大小是6),两两相乘还是在这里面,并且每个矩阵的逆也在这里面。 并且,对于置换矩阵,有PT=P−1P^T=P^{-1}

对于4*4的置换矩阵,一共有24个。

转置-置换-向量空间

回顾

前面,主要讲了求解线性方程组的矩阵形式,可以转化成求X矩阵向量的问题,解决的方法是消元法,不考虑行交换的话,是EA=UEA=U,整体的复杂度是O(n3)O(n^3),因为理解的便宜性,选择A的LU分解, 也就是A=LU=LDUA=LU=LDU。 此外,简单介绍了置换矩阵,置换矩阵的特点是自己组成了一个群,相乘取逆取转置都在这个群里面,并且PT=P−1P^T = P^{-1}

主题

这里,继续介绍了转置矩阵,还有置换矩阵的一些特点。 接下来,引入了线性代数的核心——Vector Space,介绍了线性空间的含义,子空间以及列空间。

置换矩阵

前面讨论的A的LU分解,没有考虑行交换的情况,如果考虑行交换的话,可以写作下面的,P代表了行交换的步骤(P1*P2还在P的群里面),L代表了行的线性组合,系数可以直接得到,U代表消元后的上三角矩阵。

PA=LUPA=LU

对于n行的矩阵,置换矩阵一共有n!n!个。

置换矩阵还有些性质:

  1. PT=P−1P^T=P^{-1}
  2. PT∗P=IP^T*P=I

对称矩阵

对称矩阵,也是种特殊的矩阵,有如下性质

  1. AT=AA^T=A
  2. ATij=Aji{A^T}_{ij}=A_{ji}

同时,还可以通过矩阵的转置得到对称矩阵,这个在工程中应用很多的。

(RTR)T(R^TR)^T = RTRR^TR (RRT)T(RR^T)^T = RRTRR^T

向量空间

定义:由一组向量的线性组合所构成的空间,在空间内部对于向量加法和数乘封闭,零向量肯定在任何向量子空间里。

比如R2\mathbb{R^2},R3\mathbb{R^3},Rn\mathbb{R^n}等。

向量子空间

举个例子R2\mathbb{R^2}的所有向量子空间

  1. R2\mathbb{R^2}
  2. R2\mathbb{R^2}通过原点的直线
  3. R2\mathbb{R^2}中的[0,0]

同理,R3\mathbb{R^3}的向量子空间包括本身,过原点的平面,过原点的直线,零点。

列空间

下面,考虑向量空间的矩阵表示形式,可以表示为矩阵的列向量的线性组合,叫做列空间。

比如

A=⎡⎣⎢12423−5⎤⎦⎥

A = \begin{bmatrix}1 & 2\\ 2 & 3 \\4 & -5 \end{bmatrix}

这个构成的列空间C(A)C(A)表示三维空间中两个列向量的线性组合,表示的是经过原点的一个平面。 但是,如果这两个列向量是成比例的,也可能表示的是三维空间中的一个直线。

下面,将阐述如何用向量空间的思想去思考AX=bAX=b。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器学习算法与Python学习

高斯混合聚类(GMM)及代码实现

通过学习概率密度函数的Gaussian Mixture Model (GMM) 与 k-means 类似,不过 GMM 除了用在 clustering 上之外,...

4105
来自专栏数据科学与人工智能

【陆勤践行】机器学习中距离和相似性度量方法

在机器学习和数据挖掘中,我们经常需要知道个体间差异的大小,进而评价个体的相似性和类别。最常见的是数据分析中的相关分析,数据挖掘中的分类和聚类算法,如 K 最近邻...

2388
来自专栏marsggbo

Andrew Ng机器学习课程笔记--week6(精度&召回率)

Advice for applying machine learning 本周主要学习如何提升算法效率,以及如何判断学习算法在什么时候表现的很糟糕和如何deb...

2509
来自专栏机器之心

入门 | 从PCC到MIC,一文教你如何计算变量之间的相关性

选自FreeCoderCamp 作者:Peter Gleeson 机器之心编译 参与:陈韵竹、程耀彤、刘晓坤 本文介绍了几个重要的变量相关性的度量,包括皮尔逊相...

4366
来自专栏SIGAI学习与实践平台

【群话题精华】五月集锦——机器学习和深度学习中一些值得思考的问题

SIGAI微信技术交流群已经运营3周了,在这期间群友们对很多技术问题进行了热烈的讨论,在这里,我们将精华的话题整理出来,做一个总结。以后在每个月我们都会有类似的...

702
来自专栏机器之心

开发者必读:计算机科学中的线性代数

3217
来自专栏云时之间

帮助阿姨学数学(线性代数篇)

前言 第一次接触线性代数是在大一的第一学期,学完以后分数不低,但是在结束考试后我就有点心虚,在这一段时间因为有个阿姨来问我线性代数,又温习了一遍,心里边变得更心...

36513
来自专栏机器之心

业界 | 微软提出新型通用神经机器翻译方法,挑战低资源语言翻译问题

2096
来自专栏文智的专栏

【 文智背后的奥秘 】系列篇 :文本聚类系统

通过文本聚类的自动化流程,文本聚类用户可以挖掘出数据中的热门话题或热门事件,从而为用户对数据的分析提供重要的基础。本文下面先对文本聚类的主要算法作介绍,然后再具...

2.9K0
来自专栏窗户

有限域(1)

  有限域,顾名思义就是有限的域,我们又称它为Galois域(Galois Field)。

834

扫码关注云+社区