如何理解矩阵相乘的几何意义或现实意义?
链接:https://www.zhihu.com/question/28623194/answer/135658852
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
我们先来看一个高中就学过的向量运算:内积。A=(x1,y1),B=(x2,y2),如下图所示
<img src="https://pic4.zhimg.com/50/8d64151ceed0eed4d4708d8d9e6374dc_hd.jpg" data-rawwidth="598" data-rawheight="593" class="origin_image zh-lightbox-thumb" width="598" data-original="https://pic4.zhimg.com/8d64151ceed0eed4d4708d8d9e6374dc_r.jpg">
![](https://pic4.zhimg.com/80/8d64151ceed0eed4d4708d8d9e6374dc_hd.jpg)
我们继续在二维空间讨论向量,一个向量(3,2)本身是不能精确表示一个向量的,实际上隐含了再X轴投影为3而Y轴的投影为2,更正式的,向量(x,y)实际上可以表示为<img src="https://pic3.zhimg.com/50/4533331b5b4b5ea98c90f2abed81d470_hd.jpg" data-rawwidth="598" data-rawheight="594" class="origin_image zh-lightbox-thumb" width="598" data-original="https://pic3.zhimg.com/4533331b5b4b5ea98c90f2abed81d470_r.jpg">
![](https://pic3.zhimg.com/80/4533331b5b4b5ea98c90f2abed81d470_hd.jpg)
我们之所以默认选择(1,0)和(0,1)为基,当然是比较方便,因为它们分别是x和y轴正方向上的单位向量,因此就使得二维平面上点坐标和向量一一对应,非常方便。但实际上任何两个线性无关的二维向量都可以成为一组基,所谓线性无关在二维平面内可以直观认为是两个不在一条直线上的向量。
例如,(1,1)和(-1,1)也可以成为一组基。一般来说,我们希望基的模是1,因为从内积的意义可以看到,如果基的模是1,那么就可以方便的用向量点乘基而直接获得其在新基上的坐标了!实际上,对应任何一个向量我们总可以找到其同方向上模为1的向量,只要让两个分量分别除以模就好了。例如,上面的基可以变为下图所示,,
(注:基都为列向量,这是遵循MIT教授的课上的建议,但是为了表示方便,我混用了。)现在我们想获得(3,2)在新基上的坐标,即在两个方向上的投影矢量值。
根据程云鹏的矩阵论11页上的定义:设x1,x2,...,xn是Vn的旧基,y1,y2,...,yn为其新基,则由基的定义可以写为(y1,y2,...,yn)=(x1,x2,...,xn)C(此处y和x均为列向量),
<img src="https://pic3.zhimg.com/50/v2-792e7958dd784ec8a91abb6344342a9c_hd.jpg" data-rawwidth="639" data-rawheight="362" class="origin_image zh-lightbox-thumb" width="639" data-original="https://pic3.zhimg.com/v2-792e7958dd784ec8a91abb6344342a9c_r.jpg">
其中C称之为过渡矩阵
所以我们有Y=X*C,其中Y为,X为
,可得C为
,
<img src="https://pic4.zhimg.com/50/ff47d66fa67d12918e4e83678fa6b78d_hd.jpg" data-rawwidth="598" data-rawheight="595" class="origin_image zh-lightbox-thumb" width="598" data-original="https://pic4.zhimg.com/ff47d66fa67d12918e4e83678fa6b78d_r.jpg">
那么根据程云鹏的矩阵论书中,坐标在新基中的表示为=
我们可以看到C明显为正交矩阵,正交矩阵的性质为
正交矩阵的逆等于其转置,所以本来C的第一列为基,求逆矩阵之后变成C的第一行为基。
所以推导出下面这个式子。
一般的,如果我们有M个N维向量,想将其变换为由R个N维向量表示的新空间中,那么首先将R个基按行组成矩阵A,然后将向量按列组成矩阵B,那么两矩阵的乘积AB就是变换结果,其中AB的第m列为A中第m列变换后的结果。
数学表示为:<img src="https://pic1.zhimg.com/50/v2-aca27e96cfa51d1b0fcb265d9918ad83_hd.jpg" data-rawwidth="771" data-rawheight="179" class="origin_image zh-lightbox-thumb" width="771" data-original="https://pic1.zhimg.com/v2-aca27e96cfa51d1b0fcb265d9918ad83_r.jpg"> 特别要注意的是,这里R可以小于N,而R决定了变换后数据的维数。也就是说,我们可以将一N维数据变换到更低维度的空间中去,变换后的维度取决于基的数量。因此这种矩阵相乘的表示也可以表示降维变换。
最后,上述分析同时给矩阵相乘找到了一种物理解释: 两个矩阵相乘的意义是将右边矩阵中的每一列列向量变换到左边矩阵中每一行行向量为基所表示的空间中去。更抽象的说,一个矩阵可以表示一种线性变换。很多同学在学线性代数时对矩阵相乘的方法感到奇怪,但是如果明白了矩阵相乘的物理意义,其合理性就一目了然了
参考文献:
1. PCA数学原理
2.矩阵论--程云鹏
3.Introduction to Linear Algebra--GILBERT STRANG
如何理解矩阵相乘的几何意义或现实意义?相关推荐
- 矩阵相乘的理解(矩阵相乘的几何意义)及证明过程
矩阵相乘的理解 1.基底的理解 2.证明过程 3.公式分析 3.1分析 3.2 3.2.1 n3=n2n3=n2n3=n2 时: 3.2.2 n3<n2n3<n2n3<n2 时: 3 ...
- 【线性代数】从矩阵分块的角度理解矩阵乘法
一.矩阵分块法介绍 概念: 例: 二.使用矩阵分块法计算矩阵的积 1. 分块矩阵计算的数学步骤 使用Numpy计算例1 import numpy as np A=np.mat([[1,0,0,0],[ ...
- 理解矩阵,矩阵背后的现实意义
https://blog.csdn.net/ecidevilin/article/details/79065949 原文链接(排版稍作调整) http://www.360doc.com/conten ...
- 理解矩阵背后的现实意义
线性代数课程,无论你从行列式入手还是直接从矩阵入手,从一开始就充斥着莫名其妙.比如说,在全国一般工科院系教学中应用最广泛的同济线性代数教材(现在到了第四版),一上来就介绍逆序数这个"前无古人 ...
- 理解矩阵,矩阵背后的现实意义 [转]
这是很早以前已经看过的,最近无意中又把保存的文章翻出来时,想起很多朋友问过矩阵,虽对矩阵似懂非懂,但却很想弄懂它,希望这几篇文章能帮你一下,故转之: 线性代数课程,无论你从行列式入手还是直接从矩阵 ...
- 理解矩阵、矩阵的现实意义(二)
上一篇里说"矩阵是运动的描述",到现在为止,好像大家都还没什么意见.但是我相信早晚会有数学系出身的网友来拍板转.因为运动这个概念,在数学和物理里是跟微积分联系在一起的.我们学习微积 ...
- SVD分解的推导,理解SVD分解及矩阵奇异值的几何意义
文章目录 SVD分解的证明推导 从本质上理解SVD分解 矩阵奇异值的几何意义 SVD分解的证明推导 理解SVD分解要解决的问题是什么? 从本质上理解SVD分解 从线性映射的矩阵表示角度,即从" ...
- 理解矩阵,与矩阵背后的现实意义
理解矩阵 与矩阵背后的现实意义 由于想对人工智能算法的理解更加深入, 特对于大学时期让我谈之色变的线性代数中的标志性事务--矩阵做了研究. 比起常见的数学知识, 矩阵,这个数学概念真的让我摸不到头脑. ...
- [转]如何理解矩阵乘法的规则(两个矩阵相乘法则的推导,从对方程组解方程演化而来)
[转]如何理解矩阵乘法的规则 转自(http://news.cnblogs.com/n/528288/) 我加入了自己的理解. 作者: 阮一峰 大多数人在高中,或者大学低年级,都上过一门课<线性 ...
最新文章
- 周报 2016.04.10
- [一] 详细讲解: 线性表链式存储结构 中的 单链表; (数据结构和算法)
- php curl 不验证ssl,PHP Curl https跳过ssl证书认证报错记录及解决
- [转]C# winForm 自定义鼠标样式的两种方法
- python对象底层原理_Python字符串对象实现原理详解
- PHP检测远端文件是否存在
- 终极神器盘点的FreeEIM
- 苹果进行iPhone问世后最重大转型:硬件时代转互联网服务
- python web中的并发请求
- Python之面向对象和正则表达(代数运算和自动更正)
- php- osc,pt-osc使用一则
- 使用Python将DOTA数据集的格式转换成VOC2007数据集的格式
- 视觉SLAM十四讲学习笔记——第八讲 视觉里程计(3)
- java 美元符号_使用单个美元符号“$”作为java类名称的任何风险?
- java: 未报告的异常错误java.lang.IllegalAccessException; 必须对其进行捕获或声明以便抛出
- 【Laravel】Laravel使用总结(一)
- GBase 8s 块(chunk)
- cad详图怎么画_施工图大样图都是怎么学的怎么画的cad 室内设计
- fdtd算法的matlab程序,一维FDTD的matlab程序(最新整理)
- Attention SLAM:一种从人类注意中学习的视觉单目SLAM
热门文章
- Hive UDAF开发详解
- 软考中级考试报名选择哪个比较容易?
- 细说Redis分布式锁(通俗易通,风趣解说)
- 【Tableau自学笔记】第一篇——各类食物的GI值与热量值可视化图表
- 2019 ICPC 南昌邀请赛 A-Attack(斯坦纳树)
- 概率统计Python计算:单个正态总体均值单侧假设的Z检验
- STM32---I/O引脚复用以及重映射(GPIO和AFIO)
- 打印机显示缺纸服务器脱机,打印机:提示“缺纸”后无法继续打印的解决办法...
- 苹果证书的申请、unityoc交互基础
- 2021-09-15 doc学习