Sunday, January 5, 2014

matrix01 矩阵对于向量空间来说,既是“坐标”也是“变换”,也是“坐标”和“变换”描述的对象(矩阵可以看成多个向量的排列)。具有这种性质的原因在于,线性空间没有点的概念,所以它也叫向量空间。这是跟仿射空间最大的区别。所以对于点,我们只需要关注所有向量的起点,也就是原点,甚至忽略它。矩阵也是可以加减的。矩阵的加减其实就是坐标的平移或者向量的矢量和,平移完了之后仍旧是个不知道原点的坐标或者向量,所以我们只需要讨论基。

http://blog.sina.com.cn/s/blog_62681e5c0101mxsl.html

矩阵对于向量空间来说,既是“坐标”也是“变换”,也是“坐标”和“变换”描述的对象(矩阵可以看成多个向量的排列)。具有这种性质的原因在于,线性空间没有点的概念,所以它也叫向量空间。这是跟仿射空间最大的区别。所以对于点,我们只需要关注所有向量的起点,也就是原点,甚至忽略它。矩阵也是可以加减的。矩阵的加减其实就是坐标的平移或者向量的矢量和,平移完了之后仍旧是个不知道原点的坐标或者向量,所以我们只需要讨论基。

特征值和特征向量的含义及正交的讨论

(2013-05-29 23:20:58)

标签:

杂谈

分类: 技术帖

关于特征值和特征向量,我参考了一些教科书,有同济的,电子科大的,清华的,华东理工的,无一例外不是从Ap=λp开始的,同时又把它作为了一种理解特征值和特征向量的方法。利用定义去理解,通常不能理解实质。因为数学的公理化定义就不是让人去理解的,它的目的是为了数学的严谨。
 
有一定数学基础的都能知道,矩阵对于向量空间来说,既是“坐标”也是“变换”,也是“坐标”和“变换”描述的对象(矩阵可以看成多个向量的排列)。具有这种性质的原因在于,线性空间没有点的概念,所以它也叫向量空间。这是跟仿射空间最大的区别。所以对于点,我们只需要关注所有向量的起点,也就是原点,甚至忽略它。矩阵也是可以加减的。矩阵的加减其实就是坐标的平移或者向量的矢量和,平移完了之后仍旧是个不知道原点的坐标或者向量,所以我们只需要讨论基。
 
而在这样一个线性空间中,有几种最简单的变换形式呢?所谓最简单就是这种变换形式无法继续分解为其他的变换——我们现在碰到的线性空间在集合中存在的形式就是多项式,如果把多项式换成变换形式,或者换成更熟悉的名字“函数”,对于这个线性空间的研究就是非常牛逼的泛函分析——无非分为这几种,拉伸,旋转,翻转。我们所能接触到的所有线性变换都可以由这三个变换的线性排列(注意而不是组合)得到。而这三个最基本的变换也有相对应的最简单的一般矩阵形式。
1拉伸
a 0 0 …… 0
0 b 0 …… 0
0 0 c …… 0
0 0 0 …… x
(当然矩阵包括但不仅限ax24阶)
2旋转
最简单的二维旋转矩阵是
cosx –sinx
sinx   cosx
这是绕着垂直于xOy面的轴旋转的变换矩阵。扩展到n维空间,我们不难想到,如果要向量绕着哪一个轴旋转,我只要找到和这个轴垂直的“平面”,再找到这个“平面”的正交基,把这一对正交基当作x轴和y轴,然后施以上述的旋转变换即可。多次旋转可多次叠加。以一次变换举例:
cosx 0  0 –sinx 0
    0
    0
sinx 0   cosx 0
这就是在第一维和第四维所在平面进行的旋转变换。
3翻转
翻转变换也有多种,无法举出一个通用式。举两个例子:
0 1
1 0
这是以x=y为对称轴进行翻转。
0
0 -1
这是以x轴为对称轴进行翻转。
跟旋转类似,多次翻转可多次叠加。
 
 
有了变换的概念就直接往下讲,碰到一些概念我会及时补充。
 
1.  特征值的数学意义
我们先考察一种线性变化,例如x,y坐标系的椭圆方程可以写为x^2/a^2+y^2/b^2=1,那么坐标系关于原点做旋转以后,椭圆方程就要发生变换。我们可以把原坐标系的(x,y)乘以一个矩阵,得到一个新的(x',y')的表示形式,写为算子的形式就是M*(x,y) =(x',y')。这里的矩阵M代表一种线性变换:拉伸,平移,旋转。那么,有没有什么样的线性变换b(b是一个向量),使得变换后的结果,看起来和让M*(x,y)像是一个数b乘以了一个(x,y)? 换句话说,有没有这样的矢量b,使得矩阵A*b这样的线性变换相当于A在矢量b上面的投影m*b? 如果有,那么b就是A的一个特征向量,m就是对应的一个特征值。
 
回过头思考这句话,一个矩阵可以是一个变换,也可以是一个坐标系,如果这个坐标系或基正交,当我用这个矩阵乘以一个向量时,如果这个向量也恰好在坐标系也就是基的一个向量所指的方向,那么这个矩阵乘以这个向量不就是把这个向量在那个基上伸缩了λ倍吗?λ就是这个矩阵的特征值。
 
可是,我们数一数上面有多少个如果——这个工作意义就是告诉大家,我们的想法是不是太理想——那我们放到更一般的情况,讨论某一个非奇异阵。讨论的时候我们换一个思路,上面的思考可能叙述太繁杂了,具体的说,求特征向量的关系,就是把矩阵A所代表的空间,进行正交分解,使得A的向量集合可以表示为每个向量a在各个特征向量上面的投影长度。例如Am*n的矩阵,n>m,那么特征向量就是m(因为秩最大是m)n个行向量在每个特征向量E上面有投影,其特征值v就是权重。那么每个行向量现在就可以写为Vn=(E1*v1n,E2*v2n...Em*vmn),矩阵变成了方阵。如果矩阵的秩更小,矩阵的存储还可以压缩。再: 由于这些投影的大小代表了A在特征空间各个分量的投影,那么我们可以使用最小2乘法,求出投影能量最大的那些分量,而把剩下的分量去掉,这样最大限度地保存了矩阵代表的信息,同时可以大大降低矩阵需要存储的维度,这叫主成分分析,或者主元分析,简称PCA方法,是一种重要的数学模型。)
这样就非常容易理解不同特征值的特征向量相互正交了,因为求特征向量就是一个正交化的过程,或者说是求某一个矩阵的基。
举个例子,对于x,y平面上的一个点(x,y),我对它作线性变换,
[1  0 ] [x]
[0 -1 ] [y]
那么得到的结果就是(x,-y),这个线性变换相当于关于横轴x做镜像。我们可以求出矩阵[1,0;0,-1]的特征向量有两个,[1,0][0,1],也就是x轴和y轴。什么意思呢?x轴上的投影,经过这个线性变换,没有改变。在y轴上的投影,乘以了幅度系数-1,并没有发生旋转。两个特征向量说明了这个线性变换矩阵对于x轴和y轴这两个正交基是线性不变的。对于其他的线性变换矩阵,我们也可以找到类似的,N个对称轴,变换后的结果,关于这N个对称轴线性不变。这N个对称轴就是线性变换AN个特征向量。这就是特征向量的物理含义所在。所以,矩阵A等价于线性变换A
再举一个例子:
[0 -1]
[1  0]
大家应该都能看出来,这是一个旋转矩阵,表示向量(x,y)绕原点逆时针旋转了pi/2。它的特征值是多少呢?λ=±i。而特征向量是这竟然是一个虚数。我们直观的思考一下,哪一个轴对于这个旋转变换来说是线性不变的?很明显是z轴。可这是一个二维空间。那么就把这个z轴叫做虚轴吧。但是如果我们把矩阵扩展一维,变成
[0 -1 0]
[1  0 0]
[0  0 1]
这时候再求特征值和特征向量,就会发现特征向量就是(0,0,1)也就是z轴。你看,添加了一维,它就不“虚”了。
(虚特征值不是这篇文章的重点,只是写的时候突然想到了这里。说到这里要提到之前写的“理解复变函数”,发现复变是个深坑,跳进去就找不到路了,概念过于繁杂,只能半年之后才有时间继续。)
虚轴的量有时候可以帮我们把一个没有实际物理形象的量添加到现实空间中。对于电气的学生,应该是要学交流传动的。里面有一个SVPWM电压空间矢量控制,对于电压空间矢量为什么会形成一个轨迹为圆形的磁链。我就是用二维的平面(顺着绕组方向)加了一个虚轴来证明的。这个可以另外讨论。
 
现在我们继续把讨论范围扩大。我们又特征多项式|λE-A|=0求到的特征值会有重根,这时候求到的这个重根的特征向量就不正交,甚至会线性相关。如果线性无关的话,那就直接把它正交化,问题就很轻松的解决了。即便正交后的结果不一样也没有关系,特征向量本身不是定死的,这就好比坐标系可以旋转一样。一旦特征向量的各个方向确定了,那么特征值向量也就确定了。至于为什么会有些矩阵的特征值会是重根,而且特征向量不正交,这个就要谈到线性方程组的解空间的问题了,足够再写一篇文章,因此不再赘述。
 
上面说到特征向量不正交的情况,再把讨论范围扩大,特征向量线性相关又怎么办。一句话就可以解释,描述这个变换的矩阵有一维或多维是冗余的,它的剩下的那些变换就足以描述你这个冗余的变换。这类似于向量组的线性无关性。可以想到,奇异阵是不能相似于对角阵的。
既然这个变换的矩阵有一维或者多维是冗余的,那么他就不能相似于一个对角阵。毕竟对n阶对角矩阵来说,它的秩是n,也就是说对角阵的变换无冗余,那你这个有冗余的矩阵也就不能描述这个对角阵。
 
矩阵对角化其实也是初等变换,但是是把矩阵再变回对角阵。这个对角阵也就是单位阵的不同的方向上进行了伸缩得到的。
 
所谓的特征矩阵,就是原矩阵如何与一个x维的数量矩阵相似。λ(i)说明了相似投影与一个x维线性空间的第i维坐标轴,λ(i)是放缩比例。λ(i)之间的顺序是不重要的,因为坐标轴之间的交换是初等线性变换,不影响代数拓扑的性质。特征向量xi表明A如何把线性组合投影到一个坐标轴上。所谓的特征向量,就是一组正交基集合。
 
2、线性代数的本质
线性代数(Linear Algebra),能否用一句话概括那些"线性方程组""线性相关""特征值和特征向量""对角化和相似""二次型和正交化",都是干了什么样的一件事情?
看下面几个矩阵:
[1,0]  [2,0]  [0,2]  [1,-1]  [1, 0]
[0,1][0,3][3,0][1, 1][1,-1]
 我们可以通过计算来看出,上面5个矩阵:第一个矩阵是单位矩阵E,也就是把(x,y)映射到(x',y')保持不变;第二个矩阵映射以后变量的长度(或者叫模,1范数)有变换,向量的角度不变;第3个矩阵对调x/y轴,并且有伸缩;第4个矩阵把x/y逆时针旋转45度,模变成原来的根号2倍;第5个矩阵是对x轴做对称,把y变成-y2维空间上的线性变换可以用复数乘法来替代,但是更高维的变换就只能借助于矩阵乘法。
矩阵的变换,换一个叫法就是映射。通过三个例子理解线性变换的映射。
(1) 线性方程组AX=B,也就是说,Bx'/y'坐标系一个向量(b1,b2,b3...bn),矩阵A(x/y)(x'/y')的映射,能否找到X=(x1,...xn)使得X被映射到B。如果找到了一个,那么这个映射就是唯一的,当然映射也可能没有,也可能有无数种可能的情况。
(2) 那么,什么情况AX=B的解是唯一的呢? 满足行列式|A|!=0。为了满足|A|!=0,必须有a的行向量线性无关,也就是a的每一行都是一个独立的坐标轴,没有冗余的坐标轴。所以坐标系映射的自变量和因变量也就因此一一对应,所以总是有且只有一个解。
(3) 什么情况下无解呢? A的行向量有冗余,最大线性无关(无冗余的坐标系个数),或者秩R(A)=r,但是发现需要通过r个坐标轴的映射,得到s维的映射结果(s>r)。显然无解(找不到低维到高维的一一映射)。同理,如果s,那么有无数个解(通解,一对多的映射)s=r正好也是一个解。
矩阵的对角化,揭示了矩阵作为一种线性变换的手段的本质。那么特征值和特征向量的意义,也就很明显了。假设N维坐标系(i1,i2...in)映射到新的坐标系(j1,j2,j3...jn),既然矩阵A代表一种映射关系(变换),那么这种映射关系可以分解为模的伸缩和角度旋转。A=P^(-1)*B*PB是特征值构成的矩阵,那么每一个特征值,相当于坐标ix映射到jx的那一维的坐标,其模的伸缩比例是多少。可逆矩阵P的每一个列向量代表的就是新的坐标系相当于原有的坐标系如何投影过来----Pi的每一个分量就是(i1...in)ji上面投影的大小。矩阵对角阵的分解式A=P^(-1)*B*P代表了这样一种信息: 把原坐标系(i1,i2...in)进行旋转(P矩阵),并且幅度进行伸缩(B矩阵),再做一次镜像的旋转P^(-1),因为旋转本身不具有翻转的功能,那么就是原矩阵A的线性变换功能的全部了。
矩阵,就是旋转+镜像翻转+尺度伸缩。这就是一切线性代数和矩阵理论要研究的问题,无出其外。
一个应用的例子就是控制论,系统从状态A变换到状态B(AB都是矢量)其实就是看是否存在转移矩阵X使得XA=B,或者一些列转移矩阵{X}已知,看看是否存在初始A使得系统状态能够变成要求的状态B,或者已知A{X}看是否能经过一系列变换得到B。下面几幅图来自<<Visual Complex Analysis>>,画的是复数域(2x2线性变换空间的)的尺度拉伸,平移,旋转,直角平面和极坐标圆平面之间的线性变换。
特征值和特征向量的含义及正交的讨论


 
 
3、关于正交
正交可以理解为向量的内积为0,也可以理解为向量夹角90度。但是放到线性代数这个大概念,怎么把正交的定义和线性代数的各种概念形成自洽。那就是在某个线性空间中,基为a1a2,a3……an,某个向量v在各个ax(1xn)上面的投影分解,表达式唯一或者表述为,a1-an当中的任意向量,在其他向量上面的投影都是0
 
其实正交的概念放到不同的地方内涵完全可以不一样。例如在傅立叶级数中,为什么选用cossin作为分解的基,正是因为正余弦函数的正交性。
考虑y=f(x)(周期为T)的傅立叶级数展开形式----它相当于,在一个Tf(x)是无穷维向量(y1,y2,y3,...,yn...)f(x)的傅立叶级数展开式就是f(x)在无穷维正交基(e^jnw)上面有投影,这个正交基是从低频到高频的一些列三角函数组合。每一个投影的系数是一个长度。那么e^jnw组成的正交基就是的任何f(x)的特征向量,不同的是,不同f(x)对应不同的特征值向量。一个N维的向量空间,N个正交矢量不是定死的,而可以是任意的向量值组合,只要保持互相两两正交就可以了。例如我想构造3维的正交基,我随手写下 (1,0,1),那么(0,1,2)(0,0,1)就可以是剩下的两个向量。为什么?一般的说,向量e1,e2,e3是正交基,那么 e1+e2,e2+e3,e1+e3这三个向量也可以构成正交基。
 
也就是因为三角级数本身可以作为投影的基准,可以分解任何函数。所以三角函数就是特征向量函数,频率分析的值就是特征值。说得远一点,任何数学分析最后都可以用频谱分析来代替。这也就是"信号与系统""数字信号处理""通信原理""概率和随机过程"这些课程,怎么看起来都是在玩频率游戏和功率谱游戏的原因----学完以后经常会感觉自己什么都没有学会。因为在物理层,信息的"意义"并不存在,只有传输和设计的电子/数学特性有意义。通信协议都是高层次的东西,和"通信原理"无关。在底层只有物理意义,没有逻辑意义

No comments:

Post a Comment