矩阵论主要研究的是线性空间以及在线性空间中的一些操作,主要是线性变换。当然书中主要是针对有限维的情况来讨论的,这样的话就可以用向量和矩阵来表示线性空间和线性变换,同其他的数学形式一样,矩阵是一种表达形式(notation),而这一方面可以简洁地表达出我们平时遇到的如线性方程和协方差关系的协方差矩阵等,另一方面又给进一步的研究或者问题的简化提供了一个平台。如特征值分析、稳定性分析就对应着诸如统计分布和系统稳定性等实际问题。而一系列的分解则可以方便方程的数值计算。作为矩阵论的学习,我们需要了解具体的一些计算究竟是怎么算的,但更关键的是要知道各个概念和方法的实际意义,各个概念之间的关系。
首先介绍的是线性空间,对于线性空间中的任意一个向量的表示有基(相当于度量单位)和坐标(相当于具体的尺度),基既然作为度量标准了,当然要求对每一个向量都适用,同时这个标准本身也应该尽可能的简洁,那么就得到了基定义的两点约束:1、基的组成向量线性无关;2、线性空间中的任一个向量都可以由基的线性表示。
基作为一种“计量标准”,当然可能会存在多种形式,只要满足上面的两点条件,因而就有必要解决不同的度量标准之间的转换关系,从而得到过渡矩阵的概念,同时可以使用这种转换关系(过渡矩阵)去完成度量量(坐标)之间的转换。
在完成了线性空间这一对象的认识和表达之后,下面需要研究对象和对象之间的关系。这里主要是线性变换,线性变换针对于实际对象主要完成类似于旋转和尺度变换方面的操作,而这种操作也牵涉到表达的问题。为了保持与空间的一致性,我们也同样是在特定的基下来表示,从而线性变换就具体化为一个变换矩阵,并且,在不同的基下对应的变换矩阵当然也不相同,这里的不同的变换矩阵的关系就是相似的概念。
到此,我们完成了空间中向量的表示和线性变换的矩阵表达。这里涉及了基、坐标、过渡矩阵、变换矩阵、相似矩阵这几个重要的概念。上面算是内涵上的认识,下面我们需要知道线性空间里究竟有些什么东西,它是如何组成的,各个组成成分之间的关系,也就是空间的结构性方面的东西。
首先认识子空间(空间的组成部分),当然既然也是空间,也就要满足空间的加法和数乘的封闭性,要满足那八条定律。后者可以由父空间保证,前面的就要子空间自身素质了。同时要看子空间之间的并、交、直和运算和相应的秩的关系。这里提到了维数,就要多说几句了,空间中的元素往往是连续过渡的,但是对于有限空间而言还有离散的性质,那就是维数,我称其为“不伸则已,一伸则增一”,从这也就说明了为什么可以用若干个子空间的直和可以等价于原线性空间。
子空间的形式很多,有生成子空间、值域空间、零空间(木木先生注:此处指核空间)和特征子空间等等,我们重点看看特征子空间。一个空间可以划分为若干个特征子空间的直和形式,而每个特征子空间的共同特征就是具有相同的特征值,范围就是对应着这个特征值的若干特征向量的生成子空间。
为什么要这样划分?因为我们在平时的研究中,整个线性空间太大了,我们需要缩小研究范围,某一个或几个特征子空间就够了。或者是模式分类时,每一个样本点就属于某个子空间,我们首先需要知道有哪些类,类的特点是什么,这就是特征子空间。当然对于协方差矩阵而言,特征值还具有能量属性,在清楚各个特征子空间的位置后,我们可以通过某些变换改变这些子空间的空间分布。在系统研究中,还可以在清楚特征子空间分布后成功地实现系统或方程的解耦。呵呵,可能其用途很多很多,但关键的一点就是,我们必须认识空间的结构,在此基础上再结合对应的物理空间或几何空间的实际意义进行进一步的处理。
人心苦不足,在知道了上面的东西之后,大家在想,可视的二维平面和三维立体空间中,为了研究向量的长度及向量和向量之间的角度,提出了内积的概念,在线性空间中,人们也对内积的概念作了延拓,于是将原先的线性空间添油加醋改装成了内积空间(分为实数的欧式空间和复内积空间),这里的油醋就是以下的四点:1、交换律;2、分配律;3、齐次性;4、非负性。向量自身的内积开二次根得到长度,两个向量内积除以两个向量的长度得到角度的余弦。所有这些都是与可视空间中的性质是一致的(可以参阅《由相容性想到的》)。这里要注意的是,它只给出了内积的约束,但在具体的向量空间中内积的计算形式却没有硬性规定,要想量化内积,很自然地就是要知道,量化的标准是什么,这就引出了度量矩阵(结合具体的内积计算式,计算得到的基的内积构成的矩阵)的概念。考虑到内积的非负性和交换律,度量矩阵必须是对称正定矩阵。这里也和前面一样,度量矩阵是在一定基下定义的,当基变化了,度量矩阵也会发生改变,相同的内积定义式在不同的基下得到的度量矩阵是合同的,呵呵,又多了一个概念。而且,对称变换、正交性也在内积这找到了家。
老是待在线性代数的视野范围内,终归有些不爽,下面就正式进入了分析的领域,既然是矩阵分析,首先就是什么是矩阵函数,该如何定义,当然书中是先从矩阵级数出发的,既然是级数,就会牵涉到部分和的收敛问题,收敛就是极限问题,如何定义矩阵的极限?
最原始的就是按坐标收敛,不过那么多的元素要收敛,太累了!怎么办呢?其实这从本质上来说是多元衡量尺度一元化的问题,于是就找出了范数的概念,用一个范数来代替多个元素的收敛问题的讨论。不同矩阵范数的等价性保证了函数极限的一致性。在某种程度上范数成了距离的代名词,但要注意的是范数的概念要比距离强得多(主要是增加了绝对齐次性),我们会用范数去表示不同样本之间的距离,用范数去表示误差程度,用范数去衡量许许多多的表示某种程度的量。
其实总结到此本来可以宣告结束,但是随着计算技术的发展,诸如线性方程组求解、矩阵求逆等问题都需要一些补充内容:
1、矩阵分解(简化方程求解)
2、广义逆(病态矩阵和一般矩阵的求逆问题)不过其最小二乘性质还真好使。
3、特征值估计(求高阶的多项式方程可是要命的事,大概知道特征值和特征空间的位置对于一定的应用场合就可以了)
这就是我暂时对矩阵论的理解,呵呵,相对于一年前对线性代数的理解要深刻得多了,在以后的研究实践中会进一步丰富的。
什么是范数矩阵论及矩阵计算
在介绍主题之前,先来谈一个非常重要的数学思维方法:几何方法。在大学之前,我们学习过一次函数、二次函数、三角函数、指数函数、对数函数等,方程则是求函数的零点;到了大学,我们学微积分、复变函数、实变函数、泛函等。我们一直都在学习和研究各种函数及其性质,函数是数学一条重要线索,另一条重要线索——几何,在函数的研究中发挥着不可替代的作用,几何是函数形象表达,函数是几何抽象描述,几何研究“形”,函数研究“数”,它们交织在一起推动数学向更深更抽象的方向发展。
函数图象联系了函数和几何,表达两个数之间的变化关系,映射推广了函数的概念,使得自变量不再仅仅局限于一个数,也不再局限于一维,任何事物都可以拿来作映射,维数可以是任意维,传统的函数图象已无法直观地表达高维对象之间的映射关系,这就要求我们在观念中,把三维的几何空间推广到抽象的n维空间。
由于映射的对象可以是任何事物,为了便于研究映射的性质以及数学表达,我们首先需要对映射的对象进行“量化”,取定一组“基”,确定事物在这组基下的坐标,事物同构于我们所熟悉的抽象几何空间中的点,事物的映射可以理解为从一个空间中的点到另一个空间的点的映射,而映射本身也是事物,自然也可以抽象为映射空间中的一个点,这就是泛函中需要研究的对象——函数。
从一个线性空间到另一个线性空间的线性映射,可以用一个矩阵来表达,矩阵被看作线性映射,线性映射的性质可以通过研究矩阵的性质来获得,比如矩阵的秩反映了线性映射值域空间的维数,可逆矩阵反映了线性映射的可逆,而矩阵的范数又反映了线性映射的哪些方面的性质呢?矩阵范数反映了线性映射把一个向量映射为另一个向量,向量的“长度”缩放的比例。
范数是把一个事物映射到非负实数,且满足非负性、齐次性、三角不等式,符合以上定义的都可以称之为范数,所以,范数的具体形式有很多种(由内积定义可以导出范数,范数还也可以有其他定义,或其他方式导出),要理解矩阵的算子范数,首先要理解向量范数的内涵。矩阵的算子范数,是由向量范数导出的,由形式可以知:
由矩阵算子范数的定义形式可知,矩阵A把向量x映射成向量Ax,取其在向量x范数为1所构成的闭集下的向量Ax范数最大值作为矩阵A的范数,即矩阵对向量缩放的比例的上界,矩阵的算子范数是相容的。由几何意义可知,矩阵的算子范数必然大于等于矩阵谱半径(最大特征值的绝对值),矩阵算子范数对应一个取到向量Ax范数最大时的向量x方向,谱半径对应最大特征值下的特征向量的方向。而矩阵的奇异值分解SVD,分解成左右各一个酉阵,和拟对角矩阵,可以理解为对向量先作旋转、再缩放、最后再旋转,奇异值,就是缩放的比例,最大奇异值就是谱半径的推广,所以,矩阵算子范数大于等于矩阵的最大奇异值,酉阵在此算子范数的意义下,范数大于等于1。此外,不同的矩阵范数是等价的。
范数理论是矩阵分析的基础,度量向量之间的距离、求极限等都会用到范数,范数还在机器学习、模式识别领域有着广泛的应用。
首先说说空间(space),这个概念是现代数学的命根子之一,从拓扑空间开始,一步步往上加定义,可以形成很多空间。线形空间其实还是比较初级的,如果在里面定义了范数,就成了赋范线性空间。赋范线性空间满足完备性,就成了巴那赫空间;赋范线性空间中定义角度,就有了内积空间,内积空间再满足完备性,就得到希尔伯特空间。
总之,空间有很多种。你要是去看某种空间的数学定义,大致都是“存在一个集合,在这个集合上定义某某概念,然后满足某些性质”,就可以被称为空间。这未免有点奇怪,为什么要用“空间”来称呼一些这样的集合呢?大家将会看到,其实这是很有道理的。
我们一般人最熟悉的空间,毫无疑问就是我们生活在其中的(按照牛顿的绝对时空观)的三维空间,从数学上说,这是一个三维的欧几里德空间,我们先不管那么多,先看看我们熟悉的这样一个空间有些什么最基本的特点。仔细想想我们就会知道,这个三维的空间:1.由很多(实际上是无穷多个)位置点组成;2. 这些点之间存在相对的关系;3. 可以在空间中定义长度、角度;4.这个空间可以容纳运动,这里我们所说的运动是从一个点到另一个点的移动(变换),而不是微积分意义上的“连续”性的运动,
上面的这些性质中,最最关键的是第4条。第1、2条只能说是空间的基础,不算是空间特有的性质,凡是讨论数学问题,都得有一个集合,大多数还得在这个集合上定义一些结构(关系),并不是说有了这些就算是空间。而第3条太特殊,其他的空间不需要具备,更不是关键的性质。只有第4条是空间的本质,也就是说,容纳运动是空间的本质特征。
认识到了这些,我们就可以把我们关于三维空间的认识扩展到其他的空间。事实上,不管是什么空间,都必须容纳和支持在其中发生的符合规则的运动(变换)。你会发现,在某种空间中往往会存在一种相对应的变换,比如拓扑空间中有拓扑变换,线性空间中有线性变换,仿射空间中有仿射变换,其实这些变换都只不过是对应空间中允许的运动形式而已。
因此只要知道,“空间”是容纳运动的一个对象集合,而变换则规定了对应空间的运动。
下面我们来看看线性空间。线性空间的定义任何一本书上都有,但是既然我们承认线性空间是个空间,那么有两个最基本的问题必须首先得到解决,那就是:
1.空间是一个对象集合,线性空间也是空间,所以也是一个对象集合。那么线性空间是什么样的对象的集合?或者说,线性空间中的对象有什么共同点吗?
2.线性空间中的运动如何表述的?也就是,线性变换是如何表示的?
我们先来回答第一个问题,回答这个问题的时候其实是不用拐弯抹角的,可以直截了当的给出答案。线性空间中的任何一个对象,通过选取基和坐标的办法,都可以表达为向量的形式。通常的向量空间我就不说了,举两个不那么平凡的例子:
L1.最高次项不大于n次的多项式的全体构成一个线性空间,也就是说,这个线性空间中的每一个对象是一个多项式。如果我们以x0,x1, ...,xn为基,那么任何一个这样的多项式都可以表达为一组n+1维向量,其中的每一个分量ai其实就是多项式中x(i-1)项的系数。值得说明的是,基的选取有多种办法,只要所选取的那一组基线性无关就可以。这要用到后面提到的概念了,所以这里先不说,提一下而已。
L2. 闭区间[a,b]上的n阶连续可微函数的全体,构成一个线性空间。也就是说,这个线性空间的每一个对象是一个连续函数。对于其中任何一个连续函数,根据魏尔斯特拉斯定理,一定可以找到最高次项不大于n的多项式函数,使之与该连续函数的差为0,也就是说,完全相等。这样就把问题归结为L1了。后面就不用再重复了。
所以说,向量是很厉害的,只要你找到合适的基,用向量可以表示线性空间里任何一个对象。这里头大有文章,因为向量表面上只是一列数,但是其实由于它的有序性,所以除了这些数本身携带的信息之外,还可以在每个数的对应位置上携带信息。为什么在程序设计中数组最简单,却又威力无穷呢?根本原因就在于此。这是另一个问题了,这里就不说了。
下面来回答第二个问题,这个问题的回答会涉及到线性代数的一个最根本的问题。
线性空间中的运动,被称为线性变换。也就是说,你从线性空间中的一个点运动到任意的另外一个点,都可以通过一个线性变化来完成。那么,线性变换如何表示呢?很有意思,在线性空间中,当你选定一组基之后,不仅可以用一个向量来描述空间中的任何一个对象,而且可以用矩阵来描述该空间中的任何一个运动(变换)。而使某个对象发生对应运动的方法,就是用代表那个运动的矩阵,乘以代表那个对象的向量。
简而言之,在线性空间中选定基之后,向量刻画对象,矩阵刻画对象的运动,用矩阵与向量的乘法施加运动。
是的,矩阵的本质是运动的描述。如果以后有人问你矩阵是什么,那么你就可以响亮地告诉他,矩阵的本质是运动的描述。(chensh,说你呢!)
可是多么有意思啊,向量本身不是也可以看成是n x1矩阵吗?这实在是很奇妙,一个空间中的对象和运动竟然可以用相类同的方式表示。能说这是巧合吗?如果是巧合的话,那可真是幸运的巧合!可以说,线性代数中大多数奇妙的性质,均与这个巧合有直接的关系。
上一篇里说“矩阵是运动的描述”,到现在为止,好像大家都还没什么意见。但是我相信早晚会有数学系出身的网友来拍板转。因为运动这个概念,在数学和物理里是跟微积分联系在一起的。我们学习微积分的时候,总会有人照本宣科地告诉你,初等数学是研究常量的数学,是研究静态的数学,高等数学是变量的数学,是研究运动的数学。大家口口相传,差不多人人都知道这句话。但是真知道这句话说的是什么意思的人,好像也不多。简而言之,在我们人类的经验里,运动是一个连续过程,从A点到B点,就算走得最快的光,也是需要一个时间来逐点地经过AB之间的路径,这就带来了连续性的概念。而连续这个事情,如果不定义极限的概念,根本就解释不了。古希腊人的数学非常强,但就是缺乏极限观念,所以解释不了运动,被芝诺的那些著名悖论(飞箭不动、飞毛腿阿喀琉斯跑不过乌龟等四个悖论)搞得死去活来。因为这篇文章不是讲微积分的,所以我就不多说了。有兴趣的读者可以去看看齐民友教授写的《重温微积分》。我就是读了这本书开头的部分,才明白“高等数学是研究运动的数学”这句话的道理。
不过在我这个《理解矩阵》的文章里,“运动”的概念不是微积分中的连续性的运动,而是瞬间发生的变化。比如这个时刻在A点,经过一个“运动”,一下子就“跃迁”到了B点,其中不需要经过A点与B点之间的任何一个点。这样的“运动”,或者说“跃迁”,是违反我们日常的经验的。不过了解一点量子物理常识的人,就会立刻指出,量子(例如电子)在不同的能量级轨道上跳跃,就是瞬间发生的,具有这样一种跃迁行为。所以说,自然界中并不是没有这种运动现象,只不过宏观上我们观察不到。但是不管怎么说,“运动”这个词用在这里,还是容易产生歧义的,说得更确切些,应该是“跃迁”。因此这句话可以改成:
“矩阵是线性空间里跃迁的描述”。
可是这样说又太物理,也就是说太具体,而不够数学,也就是说不够抽象。因此我们最后换用一个正牌的数学术语——变换,来描述这个事情。这样一说,大家就应该明白了,所谓变换,其实就是空间里从一个点(元素/对象)到另一个点(元素/对象)的跃迁。比如说,拓扑变换,就是在拓扑空间里从一个点到另一个点的跃迁。再比如说,仿射变换,就是在仿射空间里从一个点到另一个点的跃迁。附带说一下,这个仿射空间跟向量空间是亲兄弟。做计算机图形学的朋友都知道,尽管描述一个三维对象只需要三维向量,但所有的计算机图形学变换矩阵都是4x4的。说其原因,很多书上都写着“为了使用中方便”,这在我看来简直就是企图蒙混过关。真正的原因,是因为在计算机图形学里应用的图形变换,实际上是在仿射空间而不是向量空间中进行的。想想看,在向量空间里相一个向量平行移动以后仍是相同的那个向量,而现实世界等长的两个平行线段当然不能被认为同一个东西,所以计算机图形学的生存空间实际上是仿射空间。而仿射变换的矩阵表示根本就是4x 4的。又扯远了,有兴趣的读者可以去看《计算机图形学——几何工具算法详解》。
一旦我们理解了“变换”这个概念,矩阵的定义就变成:
“矩阵是线性空间里的变换的描述。”
到这里为止,我们终于得到了一个看上去比较数学的定义。不过还要多说几句。教材上一般是这么说的,在一个线性空间V里的一个线性变换T,当选定一组基之后,就可以表示为矩阵。因此我们还要说清楚到底什么是线性变换,什么是基,什么叫选定一组基。线性变换的定义是很简单的,设有一种变换T,使得对于线性空间V中间任何两个不相同的对象x和y,以及任意实数a和b,有:
T(ax + by) = aT(x) + bT(y),
那么就称T为线性变换。
定义都是这么写的,但是光看定义还得不到直觉的理解。线性变换究竟是一种什么样的变换?我们刚才说了,变换是从空间的一个点跃迁到另一个点,而线性变换,就是从一个线性空间V的某一个点跃迁到另一个线性空间W的另一个点的运动。这句话里蕴含着一层意思,就是说一个点不仅可以变换到同一个线性空间中的另一个点,而且可以变换到另一个线性空间中的另一个点去。不管你怎么变,只要变换前后都是线性空间中的对象,这个变换就一定是线性变换,也就一定可以用一个非奇异矩阵来描述。而你用一个非奇异矩阵去描述的一个变换,一定是一个线性变换。有的人可能要问,这里为什么要强调非奇异矩阵?所谓非奇异,只对方阵有意义,那么非方阵的情况怎么样?这个说起来就会比较冗长了,最后要把线性变换作为一种映射,并且讨论其映射性质,以及线性变换的核与像等概念才能彻底讲清楚。我觉得这个不算是重点,如果确实有时间的话,以后写一点。以下我们只探讨最常用、最有用的一种变换,就是在同一个线性空间之内的线性变换。也就是说,下面所说的矩阵,不作说明的话,就是方阵,而且是非奇异方阵。学习一门学问,最重要的是把握主干内容,迅速建立对于这门学问的整体概念,不必一开始就考虑所有的细枝末节和特殊情况,自乱阵脚。
接着往下说,什么是基呢?这个问题在后面还要大讲一番,这里只要把基看成是线性空间里的坐标系就可以了。注意是坐标系,不是坐标值,这两者可是一个“对立矛盾统一体”。这样一来,“选定一组基”就是说在线性空间里选定一个坐标系。就这意思。
好,最后我们把矩阵的定义完善如下:
“矩阵是线性空间中的线性变换的一个描述。在一个线性空间中,只要我们选定一组基,那么对于任何一个线性变换,都能够用一个确定的矩阵来加以描述。”
理解这句话的关键,在于把“线性变换”与“线性变换的一个描述”区别开。一个是那个对象,一个是对那个对象的表述。就好像我们熟悉的面向对象编程中,一个对象可以有多个引用,每个引用可以叫不同的名字,但都是指的同一个对象。如果还不形象,那就干脆来个很俗的类比。
比如有一头猪,你打算给它拍照片,只要你给照相机选定了一个镜头位置,那么就可以给这头猪拍一张照片。这个照片可以看成是这头猪的一个描述,但只是一个片面的的描述,因为换一个镜头位置给这头猪拍照,能得到一张不同的照片,也是这头猪的另一个片面的描述。所有这样照出来的照片都是这同一头猪的描述,但是又都不是这头猪本身。
同样的,对于一个线性变换,只要你选定一组基,那么就可以找到一个矩阵来描述这个线性变换。换一组基,就得到一个不同的矩阵。所有这些矩阵都是这同一个线性变换的描述,但又都不是线性变换本身。
但是这样的话,问题就来了如果你给我两张猪的照片,我怎么知道这两张照片上的是同一头猪呢?同样的,你给我两个矩阵,我怎么知道这两个矩阵是描述的同一个线性变换呢?如果是同一个线性变换的不同的矩阵描述,那就是本家兄弟了,见面不认识,岂不成了笑话。
好在,我们可以找到同一个线性变换的矩阵兄弟们的一个性质,那就是:
若矩阵A与B是同一个线性变换的两个不同的描述(之所以会不同,是因为选定了不同的基,也就是选定了不同的坐标系),则一定能找到一个非奇异矩阵P,使得A、B之间满足这样的关系:
A =P-1BP
线性代数稍微熟一点的读者一下就看出来,这就是相似矩阵的定义。没错,所谓相似矩阵,就是同一个线性变换的不同的描述矩阵。按照这个定义,同一头猪的不同角度的照片也可以成为相似照片。俗了一点,不过能让人明白。
而在上面式子里那个矩阵P,其实就是A矩阵所基于的基与B矩阵所基于的基这两组基之间的一个变换关系。关于这个结论,可以用一种非常直觉的方法来证明(而不是一般教科书上那种形式上的证明),如果有时间的话,我以后在blog里补充这个证明。
这个发现太重要了。原来一族相似矩阵都是同一个线性变换的描述啊!难怪这么重要!工科研究生课程中有矩阵论、矩阵分析等课程,其中讲了各种各样的相似变换,比如什么相似标准型,对角化之类的内容,都要求变换以后得到的那个矩阵与先前的那个矩阵式相似的,为什么这么要求?因为只有这样要求,才能保证变换前后的两个矩阵是描述同一个线性变换的。当然,同一个线性变换的不同矩阵描述,从实际运算性质来看并不是不分好环的。有些描述矩阵就比其他的矩阵性质好得多。这很容易理解,同一头猪的照片也有美丑之分嘛。所以矩阵的相似变换可以把一个比较丑的矩阵变成一个比较美的矩阵,而保证这两个矩阵都是描述了同一个线性变换。
这样一来,矩阵作为线性变换描述的一面,基本上说清楚了。但是,事情没有那么简单,或者说,线性代数还有比这更奇妙的性质,那就是,矩阵不仅可以作为线性变换的描述,而且可以作为一组基的描述。而作为变换的矩阵,不但可以把线性空间中的一个点给变换到另一个点去,而且也能够把线性空间中的一个坐标系(基)表换到另一个坐标系(基)去。而且,变换点与变换坐标系,具有异曲同工的效果。线性代数里最有趣的奥妙,就蕴含在其中。理解了这些内容,线性代数里很多定理和规则会变得更加清晰、直觉
首先来总结一下前面两部分的一些主要结论:
1. 首先有空间,空间可以容纳对象运动的。一种空间对应一类对象。
2. 有一种空间叫线性空间,线性空间是容纳向量对象运动的。
3. 运动是瞬时的,因此也被称为变换。
4. 矩阵是线性空间中运动(变换)的描述。
5. 矩阵与向量相乘,就是实施运动(变换)的过程。
6. 同一个变换,在不同的坐标系下表现为不同的矩阵,但是它们的本质是一样的,所以本征值相同。
言归正传。如果一组向量是彼此线性无关的话,那么它们就可以成为度量这个线性空间的一组基,从而事实上成为一个坐标系体系,其中每一个向量都躺在一根坐标轴上,并且成为那根坐标轴上的基本度量单位(长度1)。
现在到了关键的一步。看上去矩阵就是由一组向量组成的,而且如果矩阵非奇异的话(我说了,只考虑这种情况),那么组成这个矩阵的那一组向量也就是线性无关的了,也就可以成为度量线性空间的一个坐标系。结论:矩阵描述了一个坐标系。
“慢着!”,你嚷嚷起来了,“你这个骗子!你不是说过,矩阵就是运动吗?怎么这会矩阵又是坐标系了?”
嗯,所以我说到了关键的一步。我并没有骗人,之所以矩阵又是运动,又是坐标系,那是因为——
“运动等价于坐标系变换”。
对不起,这话其实不准确,我只是想让你印象深刻。准确的说法是:
“对象的变换等价于坐标系的变换”。
或者:
“固定坐标系下一个对象的变换等价于固定对象所处的坐标系变换。”
说白了就是:
“运动是相对的。”
在这里,我实际上已经回答了一般人在学习线性代数是最困惑的一个问题,那就是为什么矩阵的乘法要规定成这样。简单地说,是因为:
1. 从变换的观点看,对坐标系N施加M变换,就是把组成坐标系N的每一个向量施加M变换。
2.从坐标系的观点看,在M坐标系中表现为N的另一个坐标系,这也归结为,对N坐标系基的每一个向量,把它在I坐标系中的坐标找出来,然后汇成一个新的矩阵。
3.至于矩阵乘以向量为什么要那样规定,那是因为一个在M中度量为a的向量,如果想要恢复在I中的真像,就必须分别与M中的每一个向量进行內积运算。我把这个结论的推导留给感兴趣的朋友吧。应该说,其实到了这一步,已经很容易了。
转自http://blog.csdn.net/jizhihang2000/article/details/6802972