转载https://blog.csdn.net/myan/article/list 自孟岩老师算法
原文网址:工具
http://blog.csdn.net/myan/archive/2006/04/02/647511.aspx学习
http://blog.csdn.net/myan/archive/2006/04/03/649018.aspxspa
https://blog.csdn.net/myan/article/details/1865397.net
很喜欢这种对数学创建直观印象的方式,虽然像做者所说缺少严谨性,可是对于咱们这些只是但愿越发理解数学而并不立志成为数学家的人来讲,大抵是无所谓哒!很是但愿孟岩老师能继续写下去!感谢!对象
这两篇文章发表于去年的4月。在第二部分结束的时候,我说:
“矩阵不只能够做为线性变换的描述,并且能够做为一组基的描述。而 做为变换的矩阵,不但能够把线性空间中的一个点给变换到另外一个点去,并且也可以把线性空间中的一个坐标系(基)表换到另外一个坐标系(基)去。并且,变换点 与变换坐标系,具备殊途同归的效果。线性代数里最有趣的奥妙,就蕴含在其中。理解了这些内容,线性代数里不少定理和规则会变得更加清晰、直觉。blog
这个留在下一篇再写吧。数学
由于有别的事情要作,下一篇可能要过几天再写了。 ”
搜索
然而这一拖就是一年半。一年半以来,这两篇粗糙放肆的文章被处处转载,以致于在Google的搜索提示中,个人名字跟“矩阵”是一对关联词汇。这对于学生时代数学一直不好的我来讲,实在是使人惶恐的事情。数学是何等辉煌精致的学问!表明着人类智慧的最高成就,是人与上帝对话的语言。而我实在连数学的门都还没进去,不要说谈什么理解,就是稍微难一些的题目我也不多能解开。我有什么资格去谈矩阵这样重要的一个数学概念呢?更况且,个人想法直观是直观,未见的是正确的啊,会不会误人子弟呢?所以,算了吧,到此为止吧,我这么想。
技巧
是时不时收到的来信逐渐改变了个人想法。
一年半以来,我收到过不下一百封直接的来信,要求我把后面的部分写出来。这些来信大部分是国内的网友和学生,也有少数来自正在国外深造的朋友,大部分是鼓励,有的是诚挚的请求,也有少数严厉斥责我不守承诺。无论是何种态度,这都代表他们对我这一点点小小的思考成果的鼓励,特别是对于我这种思惟的视角和尝试的鼓励。他们在信中让我知道,尽管个人数学水平不高,可是我这种从普通人(而不是数学家)视角出发,强调对数学概念和规则的直觉理解的思路,对于不少人是有益的。也许这条路子在数学中绝非正道,也不会走得很远,可是不管如何,在必定的阶段,对一部分人来讲,较之目前数学教材广泛采用的思路,这种方式可能更容易理解一些。既然是可能对一部分人有帮助的事情,那么我就不该该心存太多杂念,应该不断思考和总结下去。
因此,下面就是大家来信要求我写出来的东西。
首先来总结一下前面两部分的一些主要结论:
1. 首先有空间,空间能够容纳对象运动的。一种空间对应一类对象。
2. 有一种空间叫线性空间,线性空间是容纳向量对象运动的。
3. 运动是瞬时的,所以也被称为变换。
4. 矩阵是线性空间中运动(变换)的描述。
5. 矩阵与向量相乘,就是实施运动(变换)的过程。
6. 同一个变换,在不一样的坐标系下表现为不一样的矩阵,可是它们的本质是同样的,因此本征值相同。
下面让咱们把视力集中到一点以改变咱们以往看待矩阵的方式。咱们知道,线性空间里的基本对象是向量,而向量是这么表示的:
[a1, a2, a3, ..., an]
矩阵呢?矩阵是这么表示的:
a11, a12, a13, ..., a1n
a21, a22, a23, ..., a2n
...
an1, an2, an3, ..., ann
不用太聪明,咱们就能看出来,矩阵是一组向量组成的。特别的,n维线性空间里的方阵是由n个n维向量组成的。咱们在这里只讨论这个n阶的、非奇异的方阵,由于理解它就是理解矩阵的关键,它才是通常状况,而其余矩阵都是意外,都是不得不对付的讨厌情况,大能够放在一边。这里多一句嘴,学习东西要抓住主流,不要纠缠于旁支末节。很惋惜咱们的教材课本大多数都是把主线埋没在细节中的,搞得你们还没明白怎么回事就先被灌晕了。好比数学分析,明明最要紧的观念是说,一个对象能够表达为无穷多个合理选择的对象的线性和,这个概念是贯穿始终的,也是数学分析的精华。可是课本里自始至终不讲这句话,反正就是让你作吉米多维奇,掌握一大堆解偏题的技巧,记住各类特殊状况,两类间断点,怪异的可微和可积条件(谁还记得柯西条件、迪里赫莱条件...?),最后考试一过,一切忘光光。要我说,还不如反复强调这一个事情,把它深深入在脑子里,别的东西忘了就忘了,真碰到问题了,再查数学手册嘛,何须因小失大呢?
言归正传。若是一组向量是彼此线性无关的话,那么它们就能够成为度量这个线性空间的一组基,从而事实上成为一个坐标系体系,其中每个向量都躺在一根坐标轴上,而且成为那根坐标轴上的基本度量单位(长度1)。
如今到了关键的一步。看上去矩阵就是由一组向量组成的,并且若是矩阵非奇异的话(我说了,只考虑这种状况),那么组成这个矩阵的那一组向量也就是线性无关的了,也就能够成为度量线性空间的一个坐标系。结论:矩阵描述了一个坐标系。
“慢着!”,你嚷嚷起来了,“你这个骗子!你不是说过,矩阵就是运动吗?怎么这会矩阵又是坐标系了?”
嗯,因此我说到了关键的一步。我并无骗人,之因此矩阵又是运动,又是坐标系,那是由于——
“运动等价于坐标系变换”。
对不起,这话其实不许确,我只是想让你印象深入。准确的说法是:
“对象的变换等价于坐标系的变换”。
或者:
“固定坐标系下一个对象的变换等价于固定对象所处的坐标系变换。”
说白了就是:
“运动是相对的。”
让咱们想一想,达成同一个变换的结果,好比把点(1, 1)变到点(2, 3)去,你能够有两种作法。第一,坐标系不动,点动,把(1, 1)点挪到(2, 3)去。第二,点不动,变坐标系,让x轴的度量(单位向量)变成原来的1/2,让y轴的度量(单位向量)变成原先的1/3,这样点仍是那个点,但是点的坐标就变成(2, 3)了。方式不一样,结果同样。
从第一个方式来看,那就是我在《理解矩阵》1/2中说的,把矩阵当作是运动描述,矩阵与向量相乘就是使向量(点)运动的过程。在这个方式下,
Ma = b
的意思是:
“向量a通过矩阵M所描述的变换,变成了向量b。”
而从第二个方式来看,矩阵M描述了一个坐标系,姑且也称之为M。那么:
Ma = b
的意思是:
“有一个向量,它在坐标系M的度量下获得的度量结果向量为a,那么它在坐标系I的度量下,这个向量的度量结果是b。”
这里的I是指单位矩阵,就是主对角线是1,其余为零的矩阵。
而这两个方式本质上是等价的。
我但愿你务必理解这一点,由于这是本篇的关键。
正由于是关键,因此我得再解释一下。
在M为坐标系的意义下,若是把M放在一个向量a的前面,造成Ma的样式,咱们能够认为这是对向量a的一个环境声明。它至关因而说:
“注意了!这里有一个向量,它在坐标系M中度量,获得的度量结果能够表达为a。但是它在别的坐标系里度量的话,就会获得不一样的结果。为了明确,我把M放在前面,让你明白,这是该向量在坐标系M中度量的结果。”
那么咱们再看孤零零的向量b:
b
多看几遍,你没看出来吗?它其实不是b,它是:
Ib
也就是说:“在单位坐标系,也就是咱们一般说的直角坐标系I中,有一个向量,度量的结果是b。”
而 Ma = Ib的意思就是说:
“在M坐标系里量出来的向量a,跟在I坐标系里量出来的向量b,其实根本就是一个向量啊!”
这哪里是什么乘法计算,根本就是身份识别嘛。
从这个意义上咱们从新理解一下向量。向量这个东西客观存在,可是要把它表示出来,就要把它放在一个坐标系中去度量它,而后把度量的结果(向量在各个坐标轴上的投影值)按必定顺序列在一块儿,就成了咱们平时所见的向量表示形式。你选择的坐标系(基)不一样,得出来的向量的表示就不一样。向量仍是那个向量,选择的坐标系不一样,其表示方式就不一样。所以,按道理来讲,每写出一个向量的表示,都应该声明一下这个表示是在哪一个坐标系中度量出来的。表示的方式,就是 Ma,也就是说,有一个向量,在M矩阵表示的坐标系中度量出来的结果为a。咱们平时说一个向量是[2 3 5 7]T,隐含着是说,这个向量在 I 坐标系中的度量结果是[2 3 5 7]T,所以,这个形式反而是一种简化了的特殊状况。
注意到,M矩阵表示出来的那个坐标系,由一组基组成,而那组基也是由向量组成的,一样存在这组向量是在哪一个坐标系下度量而成的问题。也就是说,表述一个矩阵的通常方法,也应该要指明其所处的基准坐标系。所谓M,实际上是 IM,也就是说,M中那组基的度量是在 I 坐标系中得出的。从这个视角来看,M×N也不是什么矩阵乘法了,而是声明了一个在M坐标系中量出的另外一个坐标系N,其中M自己是在I坐标系中度量出来的。
回过头来讲变换的问题。我刚才说,“固定坐标系下一个对象的变换等价于固定对象所处的坐标系变换”,那个“固定对象”咱们找到了,就是那个向量。可是坐标系的变换呢?我怎么没看见?
请看:
Ma = Ib
我如今要变M为I,怎么变?对了,再前面乘以个M-1,也就是M的逆矩阵。换句话说,你不是有一个坐标系M吗,如今我让它乘以个M-1,变成I,这样一来的话,原来M坐标系中的a在I中一量,就获得b了。 我建议你此时此刻拿起纸笔,画画图,求得对这件事情的理解。好比,你画一个坐标系,x轴上的衡量单位是2,y轴上的衡量单位是3,在这样一个坐标系里,坐标为(1,1)的那一点,实际上就是笛卡尔坐标系里的点(2, 3)。而让它原形毕露的办法,就是把原来那个坐标系: 2 0 0 3 的x方向度量缩小为原来的1/2,而y方向度量缩小为原来的1/3,这样一来坐标系就变成单位坐标系I了。保持点不变,那个向量如今就变成了(2, 3)了。 怎么可以让“x方向度量缩小为原来的1/2,而y方向度量缩小为原来的1/3”呢?就是让原坐标系: 2 0 0 3 被矩阵: 1/2 0 0 1/3 左乘。而这个矩阵就是原矩阵的逆矩阵。 下面咱们得出一个重要的结论: “对坐标系施加变换的方法,就是让表示那个坐标系的矩阵与表示那个变化的矩阵相乘。” 再一次的,矩阵的乘法变成了运动的施加。只不过,被施加运动的再也不是向量,而是另外一个坐标系。 若是你以为你还搞得清楚,请再想一下刚才已经提到的结论,矩阵MxN,一方面代表坐标系N在运动M下的变换结果,另外一方面,把M当成N的前缀,当成N的环境描述,那么就是说,在M坐标系度量下,有另外一个坐标系N。这个坐标系N若是放在I坐标系中度量,其结果为坐标系MxN。 在这里,我实际上已经回答了通常人在学习线性代数是最困惑的一个问题,那就是为何矩阵的乘法要规定成这样。简单地说,是由于: 1. 从变换的观点看,对坐标系N施加M变换,就是把组成坐标系N的每个向量施加M变换。 2. 从坐标系的观点看,在M坐标系中表现为N的另外一个坐标系,这也归结为,对N坐标系基的每个向量,把它在I坐标系中的坐标找出来,而后汇成一个新的矩阵。 3. 至于矩阵乘以向量为何要那样规定,那是由于一个在M中度量为a的向量,若是想要恢复在I中的真像,就必须分别与M中的每个向量进行內积运算。我把这个结论的推导留给感兴趣的朋友吧。应该说,其实到了这一步,已经很容易了。 综合以上1/2/3,矩阵的乘法就得那么规定,一切有根有据,毫不是哪一个神经病胡思乱想出来的。 我已经没法说得更多了。矩阵又是坐标系,又是变换。究竟是坐标系,仍是变换,已经说不清楚了,运动与实体在这里统一了,物质与意识的界限已经消失了,一切归于没法言说,没法定义了。道可道,很是道,名可名,很是名。矩阵是在是不可道之道,不可名之名的东西。到了这个时候,咱们不得不认可,咱们伟大的线性代数课本上说的矩阵定义,是无比正确的: “矩阵就是由m行n列数放在一块儿组成的数学对象。” 好了,这基本上就是我想说的所有了。还留下一个行列式的问题。矩阵M的行列式其实是组成M的各个向量按照平行四边形法则搭成一个n维立方体的体积。对于这一点,我只能感叹于其精妙,却没法揭开其中奥秘了。也许我掌握的数学工具不够,我但愿有人可以给咱们你们讲解其中的道理了。 我不知道是否讲得足够清楚了,反正这一部分须要您花些功夫去推敲。 此外,请你们没必要等待这个系列的后续部分。以个人工做状况而言,近期内很难保证继续投入脑力到这个领域中,尽管我仍然对此兴致浓厚。不过若是还有(四)的话,多是一些站在应用层面的考虑,好比对计算机图形学相关算法的理解。可是我不承诺这些讨论近期内会出现了。