理解矩阵与线性代数<转>
链接:https://www.zhihu.com/question/21082351/answer/34361293
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Action
我开始以为矩阵是为了把线性方程组的系数抽取出来,方便方程组化简和求解,后来发现矩阵的用处不止如此,不然就不会写一本书了。
矩阵可以方便的用来表示线性空间,一个简单的二维数阵,就可以表示成n维线性空间。
一个毫无意义的有序数阵,我们赋予它意义,他就可以表示成一个空间。那为什么要这么做呢?这是因为矩阵的运算可以表示线性空间的变换。以向量举例,我们求两个向量相加,可以让(x1,y1)和(x2,y2)相加,而不必真的在图上画出来这个相加后的向量。到三维空间我们就画不出来了,因为二维空间中的向量不能表示三维空间中的向量。同样,n大于3以上维度的空间中的向量我们不但不方便表示,甚至根本实现不了,但是矩阵可以帮助我们表示出来。一个3x3的矩阵,我们把他分成三列,就得到三个三维的列向量,同样4阶方阵中包含了4个4维向量。
--------------------------------------------------------------------------------------------------------------------------------------------
为了直观理解,下面全部用二维向量举例。
- 平面内引入直角坐标系之后,二维空间内所有的向量都可以用两个基向量i=(1,0)和j=(0,1)的线性组合来表示,例如a=(4,6),可以表示为a=4i+6j。
- 但是也可以由i=(2,0)和j=(0,2)两个向量来表示,例如a=2i+3j。
- 还可以由i=(1,1)和j=(1,-1)来表示,例如a=5i-1j。
- 或者由i=(1,0)和j=(1,-1)表示,例如a=10i-6j。
- 在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。
通过上面的举例我们可以总结出几条。
- 由5点到4点,将多余的基向量k去掉,得到最大线性无关向量组。
- 由4点到3点,将两个基向量的夹角变成直角,实现正交化。
- 由3点到2点,将构成正交的两个基向量旋转,使其与坐标轴重合,实现对角化。
- 由2点到1点,通过伸缩将两个基向量的长度变成单位长度,实现规范化。
通过上面的几个步骤,我们可以看出,任何一组向量构成的坐标系,都可以通过化简,正交,对角,规范的过程,将任何乱七八糟莫名其妙的坐标系变换成笛卡尔坐标系。那这么做有什么用呢?到这里我开了一下脑洞:
假如说,平面内有两个椭圆,将直角坐标系的原点放在一个椭圆的长轴和短轴交点处,这样就可以得到这个椭圆的标准方程,就是高中课本上那个。由于这两个椭圆的位置相对,这样一来另一个椭圆的位置也就定下来了,可惜很难看,长得很歪,很难用方程表示。这时就可以以这个椭圆为原点再建立一个坐标系,并且在这个坐标系下用标准方程表示出来,这样两个椭圆都有了方程来表示,问题就化简为了两个坐标系之间的关系,这时再用矩阵来运算就好了。可惜这里不能画矩阵,关于矩阵的好多问题都不能解释。
BTW,上面列举的例子都是同维度内的问题,关于升维和降维的问题其实关系到求矩阵的秩,以及线性方程组有解无解多解的问题。
----------------------------------------------------------------------------------------------------------------------------------------
理解矩阵与线性代数<转>的更多相关文章
- Python 矩阵(线性代数)
Python 矩阵(线性代数) 这里有一份新手友好的线性代数笔记,是和深度学习花书配套,还被Ian Goodfellow老师翻了牌. 笔记来自巴黎高等师范学院的博士生Hadrien Jean,是针对& ...
- (邹博ML)矩阵和线性代数
主要内容 矩阵 特征值和特征向量 矩阵求导 矩阵 SVD的提法 奇异值分解(Singular Value Decomposition)是一种重要的矩阵分解方法,可以看做对称方阵在任意矩阵上的推广. 假 ...
- loj#6040. 「雅礼集训 2017 Day5」矩阵(线性代数+递推)
题面 传送门 题解 我的线代学得跟屎一样看题解跟看天书一样所以不要指望这题我会写题解 这里 //minamoto #include<bits/stdc++.h> #define R reg ...
- 【CSS3】 理解CSS3 transform中的Matrix(矩阵)
理解CSS3 transform中的Matrix(矩阵) by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu ...
- 理解CSS3 transform中的Matrix(矩阵)
一.哥,我被你吓住了 打架的时候会被块头大的吓住,学习的时候会被奇怪名字吓住(如“拉普拉斯不等式”).这与情感化设计本质一致:界面设计好会让人觉得这个软件好用! 所以,当看到上面“Matrix(矩阵) ...
- 理解CSS3 transform中的Matrix(矩阵)——张鑫旭
by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=2427 一.哥,我被你 ...
- 对于矩阵的理解-- by 孟岩老师
“如果不熟悉线性代数的概念,要去学习自然科学,现在看来就和文盲差不多.” --瑞典数学家Lars Garding名著<Encounter with Mathematics>. 1. 矩阵的 ...
- 斯坦福大学CS224d基础1:线性代数回顾
转自 http://blog.csdn.net/han_xiaoyang/article/details/51629242 斯坦福大学CS224d基础1:线性代数知识 作者:Zico Kolter ( ...
- 关于矩阵最通俗的解释-超级经典zz
线性代数课程,无论你从行列式入手还是直接从矩阵入手,从一开始就充斥着莫名其妙.比如说,在全国一般工科院系教学中应用最广泛的同济线性代数教材(现在到了第四版),一上来就介绍逆序数这个“前无古人,后无来者 ...
随机推荐
- Android特效专辑(十二)——仿支付宝咻一咻功能实现波纹扩散特效,精细小巧的View
Android特效专辑(十二)--仿支付宝咻一咻功能实现波纹扩散特效,精细小巧的View 先来看看这个效果 这是我的在Only上添加的效果,说实话,Only现在都还只是半成品,台面都上不了,怪自己技术 ...
- Struts源码之ValueStack
/** * ValueStack allows multiple beans to be pushed in and dynamic EL expressions to be evaluated ag ...
- NOSQL schema创建原则
(1)数据规模 Bigtable类数据库系统(HBase,Cassandra等)是为了解决海量数据规模的存储需要设计的.这里说的海量数据规模指的是单个表存储的数据量是在TB或者PB规模,单个表是由千亿 ...
- LeetCode(41)-Rectangle Area
题目: Find the total area covered by two rectilinear rectangles in a 2D plane. Each rectangle is defin ...
- 如何在Eclipse CDT中编译含有多个main函数的项目
最近在杭电ACM上做题,使用的C++工具是Eclipse,但是Eclipse CDT不能同时存在多个main函数的文件,上网也搜了很多资料,但是按他们的步骤来,还是不能实现自己想要的效果.经过一下午的 ...
- javascript操作select元素一例
熟悉一下js对select元素的操作,html页面中建立一个form,其中包含一个select元素和submit按钮. 当选择select中某一项时改变其文字,当select中所有项的文字都改变后,重 ...
- 二、添加 Insert into
文档目录 开始使用 初始化查询实例: LambdaToSql.SqlClient DB = new LambdaToSql.SqlClient(); 添加实体数据 ", IP = &quo ...
- ionic1 打包过程 常用命令行
ionic start myapp myapp是项目名字 ionic start myapp --v2 ...
- Python 3 中的json模块使用
1. 概述 JSON (JavaScript Object Notation)是一种使用广泛的轻量数据格式. Python标准库中的json模块提供了JSON数据的处理功能. Python中一种非常常 ...
- 致IT之路的先驱者和旅人
1,图灵和香农 故事的开始,要从计算机之父图灵和信息论的创始人香农开始说起.图灵最大的贡献是发明了图灵机,关于图灵机如果要让人明白究竟有什么用,从如何实现一个半导体电路图灵机这方面理解比较好.只要一个 ...