`
mathzxw2002
  • 浏览: 19141 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

对矩阵的理解2

阅读更多

http://blog.csdn.net/kingboli/archive/2009/04/08/4057187.aspx

 

上一篇里说矩阵是运动的描述,到现在为止,好像大家都还没什么意见。但是我相信早晚会有数学系出身的网友来拍板转。因为运动这个概念,在数学和物理里是跟微积分联系在一起的。我们学习微积分的时候,总会有人照本宣科地告诉你,初等数学是研究常量的数学,是研究静态的数学,高等数学是变量的数学,是研究运动的数学。大家口口相传,差不多人人都知道这句话。但是真知道这句话说的是什么意思的人,好像也不多。简而言之,在我们人类的经验里,运动是一个连续过程,从A点到B点,就算走得最快的光,也是需要一个时间来逐点地经过AB之间的路径,这就带来了连续性的概念。而连续这个事情,如果不定义极限的概念,根本就解释不了。古希腊人的数学非常强,但就是缺乏极限观念,所以解释不了运动,被芝诺的那些著名悖论(飞箭不动、飞毛腿阿喀琉斯跑不过乌龟等四个悖论)搞得死去活来。因为这篇文章不是讲微积分的,所以我就不多说了。有兴趣的读者可以去看看齐民友教授写的《重温微积分》。我就是读了这本书开头的部分,才明白高等数学是研究运动的数学这句话的道理。

不过在我这个《理解矩阵》的文章里,运动的概念不是微积分中的连续性的运动,而是瞬间发生的变化。比如这个时刻在A点,经过一个运动,一下子就跃迁到了B点,其中不需要经过A点与B点之间的任何一个点。这样的运动,或者说跃迁,是违反我们日常的经验的。不过了解一点量子物理常识的人,就会立刻指出,量子(例如电子)在不同的能量级轨道上跳跃,就是瞬间发生的,具有这样一种跃迁行为。所以说,自然界中并不是没有这种运动现象,只不过宏观上我们观察不到。但是不管怎么说,运动这个词用在这里,还是容易产生歧义的,说得更确切些,应该是跃迁。因此这句话可以改成:

矩阵是线性空间里跃迁的描述

可是这样说又太物理,也就是说太具体,而不够数学,也就是说不够抽象。因此我们最后换用一个正牌的数学术语——变换,来描述这个事情。这样一说,大家就应该明白了,所谓变换,其实就是空间里从一个点(元素/对象)到另一个点(元素/对象)的跃迁。比如说,拓扑变换,就是在拓扑空间里从一个点到另一个点的跃迁。再比如说,仿射变换,就是在仿射空间里从一个点到另一个点的跃迁。附带说一下,这个仿射空间跟向量空间是亲兄弟。做计算机图形学的朋友都知道,尽管描述一个三维对象只需要三维向量,但所有的计算机图形学变换矩阵都是4 x 4的。说其原因,很多书上都写着为了使用中方便,这在我看来简直就是企图蒙混过关。真正的原因,是因为在计算机图形学里应用的图形变换,实际上是在仿射空间而不是向量空间中进行的。想想看,在向量空间里相一个向量平行移动以后仍是相同的那个向量,而现实世界等长的两个平行线段当然不能被认为同一个东西,所以计算机图形学的生存空间实际上是仿射空间。而仿射变换的矩阵表示根本就是4 x 4的。又扯远了,有兴趣的读者可以去看《计算机图形学——几何工具算法详解》。

一旦我们理解了变换这个概念,矩阵的定义就变成:

矩阵是线性空间里的变换的描述。

到这里为止,我们终于得到了一个看上去比较数学的定义。不过还要多说几句。教材上一般是这么说的,在一个线性空间V里的一个线性变换T,当选定一组基之后,就可以表示为矩阵。因此我们还要说清楚到底什么是线性变换,什么是基,什么叫选定一组基。线性变换的定义是很简单的,设有一种变换T,使得对于线性空间V中间任何两个不相同的对象xy,以及任意实数ab,有:
T(ax + by) = aT(x) + bT(y)

那么就称T为线性变换。

定义都是这么写的,但是光看定义还得不到直觉的理解。线性变换究竟是一种什么样的变换?我们刚才说了,变换是从空间的一个点跃迁到另一个点,而线性变换,就是从一个线性空间V的某一个点跃迁到另一个线性空间W的另一个点的运动。这句话里蕴含着一层意思,就是说一个点不仅可以变换到同一个线性空间中的另一个点,而且可以变换到另一个线性空间中的另一个点去。不管你怎么变,只要变换前后都是线性空间中的对象,这个变换就一定是线性变换,也就一定可以用一个非奇异矩阵来描述。而你用一个非奇异矩阵去描述的一个变换,一定是一个线性变换。有的人可能要问,这里为什么要强调非奇异矩阵?所谓非奇异,只对方阵有意义,那么非方阵的情况怎么样?这个说起来就会比较冗长了,最后要把线性变换作为一种映射,并且讨论其映射性质,以及线性变换的核与像等概念才能彻底讲清楚。我觉得这个不算是重点,如果确实有时间的话,以后写一点。以下我们只探讨最常用、最有用的一种变换,就是在同一个线性空间之内的线性变换。也就是说,下面所说的矩阵,不作说明的话,就是方阵,而且是非奇异方阵。学习一门学问,最重要的是把握主干内容,迅速建立对于这门学问的整体概念,不必一开始就考虑所有的细枝末节和特殊情况,自乱阵脚。

接着往下说,什么是基呢?这个问题在后面还要大讲一番,这里只要把基看成是线性空间里的坐标系就可以了。注意是坐标系,不是坐标值,这两者可是一个对立矛盾统一体。这样一来,选定一组基就是说在线性空间里选定一个坐标系。就这意思。

好,最后我们把矩阵的定义完善如下:

矩阵是线性空间中的线性变换的一个描述。在一个线性空间中,只要我们选定一组基,那么对于任何一个线性变换,都能够用一个确定的矩阵来加以描述。

理解这句话的关键,在于把线性变换线性变换的一个描述区别开。一个是那个对象,一个是对那个对象的表述。就好像我们熟悉的面向对象编程中,一个对象可以有多个引用,每个引用可以叫不同的名字,但都是指的同一个对象。如果还不形象,那就干脆来个很俗的类比。

比如有一头猪,你打算给它拍照片,只要你给照相机选定了一个镜头位置,那么就可以给这头猪拍一张照片。这个照片可以看成是这头猪的一个描述,但只是一个片面的的描述,因为换一个镜头位置给这头猪拍照,能得到一张不同的照片,也是这头猪的另一个片面的描述。所有这样照出来的照片都是这同一头猪的描述,但是又都不是这头猪本身。

同样的,对于一个线性变换,只要你选定一组基,那么就可以找到一个矩阵来描述这个线性变换。换一组基,就得到一个不同的矩阵。所有这些矩阵都是这同一个线性变换的描述,但又都不是线性变换本身。

但是这样的话,问题就来了如果你给我两张猪的照片,我怎么知道这两张照片上的是同一头猪呢?同样的,你给我两个矩阵,我怎么知道这两个矩阵是描述的同一个线性变换呢?如果是同一个线性变换的不同的矩阵描述,那就是本家兄弟了,见面不认识,岂不成了笑话。

好在,我们可以找到同一个线性变换的矩阵兄弟们的一个性质,那就是:

若矩阵AB是同一个线性变换的两个不同的描述(之所以会不同,是因为选定了不同的基,也就是选定了不同的坐标系),则一定能找到一个非奇异矩阵P,使得AB之间满足这样的关系:

A = P-1BP

线性代数稍微熟一点的读者一下就看出来,这就是相似矩阵的定义。没错,所谓相似矩阵,就是同一个线性变换的不同的描述矩阵。按照这个定义,同一头猪的不同角度的照片也可以成为相似照片。俗了一点,不过能让人明白。

而在上面式子里那个矩阵P,其实就是A矩阵所基于的基与B矩阵所基于的基这两组基之间的一个变换关系。关于这个结论,可以用一种非常直觉的方法来证明(而不是一般教科书上那种形式上的证明),如果有时间的话,我以后在blog里补充这个证明。

这个发现太重要了。原来一族相似矩阵都是同一个线性变换的描述啊!难怪这么重要!工科研究生课程中有矩阵论、矩阵分析等课程,其中讲了各种各样的相似变换,比如什么相似标准型,对角化之类的内容,都要求变换以后得到的那个矩阵与先前的那个矩阵式相似的,为什么这么要求?因为只有这样要求,才能保证变换前后的两个矩阵是描述同一个线性变换的。当然,同一个线性变换的不同矩阵描述,从实际运算性质来看并不是不分好环的。有些描述矩阵就比其他的矩阵性质好得多。这很容易理解,同一头猪的照片也有美丑之分嘛。所以矩阵的相似变换可以把一个比较丑的矩阵变成一个比较美的矩阵,而保证这两个矩阵都是描述了同一个线性变换。

这样一来,矩阵作为线性变换描述的一面,基本上说清楚了。但是,事情没有那么简单,或者说,线性代数还有比这更奇妙的性质,那就是,矩阵不仅可以作为线性变换的描述,而且可以作为一组基的描述。而作为变换的矩阵,不但可以把线性空间中的一个点给变换到另一个点去,而且也能够把线性空间中的一个坐标系(基)表换到另一个坐标系(基)去。而且,变换点与变换坐标系,具有异曲同工的效果。线性代数里最有趣的奥妙,就蕴含在其中。理解了这些内容,线性代数里很多定理和规则会变得更加清晰、直觉。

这个留在下一篇再写吧。

因为有别的事情要做,下一篇可能要过几天再写了。

分享到:
评论

相关推荐

    对矩阵的理解

    本文以大多数人都能理解的方式介绍了矩阵的本质,帮助初学者理解矩阵的内涵,变换等

    帮助对矩阵的进一步的理解

    线性代数课程,无论你从行列式入手还是直接从矩阵入手,从一开始就充斥着莫名其妙,这个文档或许能帮助对矩阵的进一步的理解,

    《理解矩阵》孟岩

    对矩阵乃至线性代数的一次直观理解! 来源:http://blog.csdn.net/myan/article/details/647511

    矩阵的理解,帮你解答矩阵的疑惑

    帮你理解线性代数中矩阵的运算,帮你解答矩阵的疑惑,让枯燥的线性代数形象生动。

    理解矩阵 孟岩1,2,3

    理解矩阵,很好的一篇博文整理,有助于了解矩阵内在的含义。有助于工程应用

    新理解矩阵

    写的很好的矩阵分析博文,有助于矩阵分析理论的理解及工程应用

    用Matlab深入学习和理解矩阵知识.pdf

    用Matlab深入学习和理解矩阵知识.pdf

    理解CUR矩阵分解.pdf

    这是一篇帮助理解CUR矩阵的论文,内容特别丰富。

    黑洞和随机矩阵

    我们认为,大型反德西特(AdS)黑洞中视界波动的晚期行为受量子混沌系统的随机矩阵动力学特性支配。 我们的主要工具是Sachdev-Ye-Kitaev(SYK)模型,我们将... 我们从总体角度对理解后期动态的挑战提出一些初步意见。

    转:矩阵理解

    通俗的讲解线性代数及矩阵的由来与用途,不论对于初学者还是有一定基础的科技工作者都有一定的指导和借鉴意义

    深入理解矩阵矩阵革命完全版.pdf

    深入理解矩阵矩阵革命完全版.pdf

    矩阵链相乘算法

    用C++实现的矩阵链相乘算法,并包含大量的注释,对理解程序很有帮助

    求用灰度共生矩阵提取纹理特征的图像检索代码-灰度共生矩阵的理解.doc

    求用灰度共生矩阵提取纹理特征的图像检索代码-灰度共生矩阵的理解.doc 跪求用灰度共生矩阵提取纹理特征的图像检索代码???

    线性代数-理解矩阵

    对绝大多数理工科学生来讲,矩阵课程是最无聊的;但到了研究生阶段却发现哪哪都需要矩阵。。。。 本文从另一个视角教你看矩阵,用浅显的语言帮你理解矩阵底层的原理; 如果这么通俗易懂的描述你还是看不懂,建议您...

    理解矩阵,矩阵背后的现实意义.doc

    理解矩阵,矩阵背后的现实意义.doc

    CAN 网络,汽车功能通信矩阵

    通常我们拿到某个ECU的通信矩阵数据库文件,.dbc后缀名的文件。 直接使用CANdb++ Editor打开,可以很直观的读懂信号矩阵的信息.信号以高字节低位起始,此处占了12bit, 以第二字节的低bit 12位算起,计12个bit总长度...

    矩阵补全模型及其算法研究综述

    接着综述了适用于矩阵补全模型求解的代表性优化算法,其目的在于从本质上理解各种矩阵补全模型优.化技巧,从而有利于面向应用问题的矩阵补全新模型求解;最后分析了矩阵补全模型及其算法目前存在的问题,提出.了这些问题...

    MATLAB——求矩阵的化零矩阵

    本代码主要利用MATLAB工具实现MATLAB——求矩阵的化零矩阵,简单明了,易于理解

    矩阵分解算法2-QR1.txt

    C语言。矩阵分解算法之一——QR分解算法,用于学习交流,加深对矩阵分解方法的理解。正交分解也称QR分解,QR分解是将矩阵分解成一个单位正交矩阵与上三角矩阵。

Global site tag (gtag.js) - Google Analytics