概述
线性变换就是矩阵的变换,而任何矩阵的变换可以理解为 一个正交变换+伸缩变换+另一个正交变换。
(正交变换可以暂时理解为 不改变大小以及正交性的旋转/反射 等变换)
A*P = y*P ,y就是特征值,P是特征向量,矩阵A做的事情无非是把P沿其P的方向拉长/缩短了一点(而不是毫无规律的多维变换)。y描述沿着这个方向上拉伸的比例。对于满秩的n*n方阵,做特征值变换,非满秩的矩阵,做奇异值变换,差别在于前者是个对角阵,后者形成对角阵和零矩阵合成的矩阵。
下面是更直观的例子(转自知乎https://www.zhihu.com/question/21082351):
1.平面内引入直角坐标系之后,二维空间内所有的向量都可以用两个基向量i=(1,0)和j=(0,1)的线性组合来表示,例如a=(4,6),可以表示为a=4i+6j。
2.但是也可以由i=(2,0)和j=(0,2)两个向量来表示,例如a=2i+3j。
3.还可以由i=(1,1)和j=(1,-1)来表示,例如a=5i-1j。
4.或者由i=(1,0)和j=(1,-1)表示,例如a=10i-6j。
5.在1的基础上,我们还可以将a表示为i=(1,0),j=(0,1),k=(1,1)三个向量的线性组合,也就是a=4i+6j+0k或者a=0i+2j+4k或者a=2i+4j+2k等等等等我举不完了。这其中k=i+j。
通过上面的举例我们可以总结出几条。
1.由5点到4点,将多余的基向量k去掉,得到最大线性无关向量组。
2.由4点到3点,将两个基向量的夹角变成直角,实现正交化。
3.由3点到2点,将构成正交的两个基向量旋转,使其与坐标轴重合,实现对角化。
4.由2点到1点,通过伸缩将两个基向量的长度变成单位长度,实现规范化。
通过上面的几个步骤,我们可以看出,任何一组向量构成的坐标系,都可以通过化简,正交,对角,规范的过程,将任何乱七八糟莫名其妙的坐标系变换成笛卡尔坐标系。那这么做有什么用呢?
到这里我开了一下脑洞:假如说,平面内有两个椭圆,将直角坐标系的原点放在一个椭圆的长轴和短轴交点处,这样就可以得到这个椭圆的标准方程,就是高中课本上那个。由于这两个椭圆的位置相对,这样一来另一个椭圆的位置也就定下来了,可惜很难看,长得很歪,很难用方程表示。
这时就可以以这个椭圆为原点再建立一个坐标系,并且在这个坐标系下用标准方程表示出来,这样两个椭圆都有了方程来表示,问题就化简为了两个坐标系之间的关系,这时再用矩阵来运算就好了。可惜这里不能画矩阵,关于矩阵的好多问题都不能解释。
最后
以上就是搞怪衬衫为你收集整理的线性变换的全部内容,希望文章能够帮你解决线性变换所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复