改变向量的基底——读书笔记用geogebra重现

这是系列帖子的下半部分,此前还有一篇。这两篇共同的主题是 改变向量的基——使用 geogebra 演示。

帖子的缘起是我最近读了一本书,书名《程序员数学》,作者 Paul Orland,https://book.douban.com/subject/35689348/,下面图示中的这本。微信读书APP可以免费阅读,排版尚可。

书里涉及到线性代数、高等数学、数值计算、神经网络等的初步,都用python代码实例介绍的,直观,能帮助理解理论知识,适合作为计算机导论的补充素材。自己参考做实验也挺好玩的,比如线性代数中关于直线相关和向量换基底的这部分,我用 geogebra 重新实现了一遍。

3. 改变向量的基底

已知两个条件。其中一个条件是,有个向量,比如从原点到坐标(4,2)的点;另一个条件是,如果换一个基底,这个向量在新的坐标系下会是从原点到哪个点呢?或者说,这个点(4,2)在新的坐标系下的坐标是什么。

书中给的例子是下面这个。

条件一,如果向量在当前坐标系下为 (4,2)。

条件二,新的坐标系是这样的,由两个向量张起,其中第一个向量u1在旧坐标系下为从原点到(1,1)的向量,另一个向量u2为从原点到(-1,-1)的向量。

在u1,u2构成的这个新坐标系下,旧坐标系下的(4,2)的坐标是什么。

3.1 书里的写法,矩阵与基底的关系

书里的写法是这样的,左边的矩阵第1列是u1,第2列是u2。其中的u1和u2分别是新坐系的两个基底。等式的左边是这个矩阵乘以{{c},{d}}这个向量(或者矩阵)。等式的右边是旧坐标系下的向量{{4},{2}}。

可以通过解方程得到c和d的值。在CAS view中操作。

解方程,指定c和d是变量。

得到c=3,d=01。

所以,旧坐标系中的(4,2)在新坐标系中的坐标为(3,-1)。

在图上验证一下。我们指定第一个向量u1的3倍,以及第二个向量u2的-1倍。

看看新坐标(3,-1)与新坐标的两个基底间的关系。

看起来对的,v在新的红色坐标系下,坐标分别对应u11和u22在u1和u2上的投影。

根据《程序员数学》中的例子,总结求 新坐标系下的坐标值的方法,就是解下面的方程,求出c和d的值。

不过这个有问题,看起来 改变基底 就像 线性变换。与上一篇中的 直线相交、解方程 的方法确实非常相似,事实上我刚刚就用了 geogebra 中的 solve 这条指令。不过结果等价,并不意味着原理相同。有不少帖子都指出,改变基底是 换个观察角度,而 线性变换 是在当前空间中操作东西。在《程序员数学》中,对这一区别似乎不太关心。

如果用geogebra画图就会发现,似乎看不出来解这个方程与基底变换之间有什么几何意义上的联系。

如果并非解方程、直线相关的话,那么原理是什么呢?

3.2 支线 线性无关-垂直-正交标准基

在讨论原理之前,先简短地补充一条小的支线。书中给出的例子中,u1和u2两个新基底是相互垂直的,点积为0。

在几何意义上也可以看出二者垂直,根据坐标可以确认。

不仅垂直,这两个基底的长度也相同。根据勾股定理我们能求出,长度/模 在旧坐标系中,都是 ,我们可以把这个长度定义为1。

这可能会误导我们以为所有的基底都必须相互垂直、长度为1。这是对 标准正交基 的要求,高于对基底的要求。基底可以不相互垂直,长度也不必为1。只要不能由基中一个基底线性推导出另一个基底,就行了。

也许我读书不细,作者可能提到了,我跳读没注意。聊此备忘,免生误解。

3.3 矩阵的逆,与改变向量的基底的关系

回到正题,书里这个求解新坐标系下的坐标的方法是什么意思呢,什么原理?

之所以看起来有点奇怪,是因为这个写法不完整。有点像数学书里经常遇到的“显然”,跳了几步一定正确的过程,读者容易跟不上思路。

是个向量,它不够完整。我们补充一点东西。

对角线上全是1的对角阵,这个单位阵,是旧坐标系的基底。因为过于熟悉,我们几乎注意不到它的存在。我们看一下它的含义。

所以, 完整的写法是

这种写法我们见过,就在下面这个等式的左边。

所以,等式的完整写法是下面这样。

C:\Users\young\AppData\Local\Temp\WeChat Files\92467ebb0a4aa3a795fc63bad2dda73.jpg

等式左右两侧都是——基底构成的矩阵 左乘 向量,左乘的结果是向量。

求解c和d,即在新坐标系下的向量的过程,相当于等式左右两边分别左乘 新基底构成的矩阵的逆。得到下面的图示。

等式左侧 {{1,-1},{1,1}}^-1 * {{1,-1},{1,1}} * {{c},{d}} => {{c},{d}}

其中,左侧的两个矩阵为 ,结果为单位阵。

等式右侧 {{1,-1},{1,1}}^-1 * {{1,0},{0,1}} * {{4},{2}},即

结果为

手动/分步计算等式右侧的话,在geogebra中并无必要,为展示计算过程的原理,我们展开一下。

先是

结果为

然后 结果为

与此前解方程的结果相同。必然相同,回顾上一篇中 两直线相交、解方程、矩阵解法,是方法上是等价的。

3.4 换个例子,验证

原坐标系中的点 (5.66,1.46),这是随便点出来的。

新坐标系,第1个基底 (3,4)。为了模长为5而选,原本以为会方便计算,不此必要。第2个基底,是第1个基底顺时钟旋转了90度,得到(4,-3)。

保证正交、长度为1,构成标准正交基。

根据上文中的方法,

求得新坐标系下的坐标为 (0.91,0.73)。

方法一,解方程

或方法二,左乘新坐标基底构成的矩阵的逆。

验证一下,向量的第1个分量和向量的第2个分量,分别除以基向量,4.56/5和3.65/5,结果正是 (0.91,0.73)。

看上图中,在旧坐标系中的(0.91,0.73)的位置相对于旧基底,可以看出与新坐标系下向量相对于新坐标系基底的关系,这两个关系是相同的。

Leave a Reply

Your email address will not be published. Required fields are marked *