zoukankan      html  css  js  c++  java
  • 【转载】理解矩阵(三)

    首先来总结一下前面两部分的一些主要结论:

    1. 首先有空间,空间可以容纳对象运动的。一种空间对应一类对象。
    2. 有一种空间叫线性空间,线性空间是容纳向量对象运动的。
    3. 运动是瞬时的,因此也被称为变换。
    4. 矩阵是线性空间中运动(变换)的描述。
    5. 矩阵与向量相乘,就是实施运动(变换)的过程。
    6. 同一个变换,在不同的坐标系下表现为不同的矩阵,但是它们的本质是一样的,所以本征值相同。

    下面让我们把视力集中到一点以改变我们以往看待矩阵的方式。我们知道,线性空间里的基本对象是向量,而向量是这么表示的:

    [[a1, a2, a3, ..., an] ]

    矩阵呢?矩阵是这么表示的:

    [egin{align} left[ egin{matrix} a_{11} & a_{12} & a_{13} & cdots & a_{1n} \ a_{21} & a_{22} & a_{23} & cdots & a_{2n} \ vdots & vdots & vdots & ddots & vdots \ a_{n1} & a_{n2} & a_{n3} & cdots & a_{nn} \ end{matrix} ight] otag end{align} ]

    不用太聪明,我们就能看出来,矩阵是一组向量组成的。特别的,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维立方体的体积。对于这一点,我只能感叹于其精妙,却无法揭开其中奥秘了。也许我掌握的数学工具不够,我希望有人能够给我们大家讲解其中的道理了。

    我不知道是否讲得足够清楚了,反正这一部分需要您花些功夫去推敲。

    此外,请大家不必等待这个系列的后续部分。以我的工作情况而言,近期内很难保证继续投入脑力到这个领域中,尽管我仍然对此兴致浓厚。不过如果还有(四)的话,可能是一些站在应用层面的考虑,比如对计算机图形学相关算法的理解。但是我不承诺这些讨论近期内会出现了。


    最后的最后,非常感谢原作者分享自己对于矩阵的理解,我想说这对很多人来说都受益匪浅,书本上冰冷的知识堆砌一直让我摸不着头脑,为什么要这么定义?这么求出来为什么就是特征值或者特征矩阵了呢?读了这些系列文章后有种醍醐灌顶的感觉,再次表示感谢!


    作者:myan
    来源:CSDN
    原文:https://blog.csdn.net/myan/article/details/1865397



    MARSGGBO原创





    2018-12-19



  • 相关阅读:
    SAP MM 采购附加费计入物料成本之二
    SAP MM 采购附加费计入物料成本?
    SAP MM 作为采购附加费的运费为啥没能在收货的时候计入物料成本?
    SAP MM 外部采购流程里的Advanced Return Management
    SAP MM 外部采购流程里的如同鸡肋一样的Advanced Returns Management功能
    SAP MM Why is the freight not included in the material cost at the time of GR?
    SAP MM: Change of material moving average price after goods receipt and invoice verification posting for PO
    SAP 创建启用了ARM功能的采购订单,报错 Shipping processing is not selected to supplier 100057 in purchase org. 0002
    GIT·代码仓库默认分支更改
    .Net/C#·运行报错缺少XXX文件,但双击无法跳转缺少位置
  • 原文地址:https://www.cnblogs.com/marsggbo/p/10144060.html
Copyright © 2011-2022 走看看