向量是线性代数最基础、最基本的概念之一,要深入理解线性代数的本质,首先就要搞清楚向量到底是什么?

向量之所以让人迷糊,是因为我们在物理、数学,以及计算机等许多地方都见过它,但又没有彻底弄懂,以至于似是而非。

1. 物理学中的向量

物理学中的向量:空间中的箭头,由长度和它所指的方向决定

而且,在物理学中,你可以在空间中自由地移动向量,只要保持向量的长度和所指的方向不变,向量便保持不变,即移动前后的向量是同一个向量!

2. 计算机专业中的向量

计算机中向量是有序的列表

例如我们要对房价建模,

我们可以将房屋面积和房价排在一起形成向量,假定向量中的第 1 个元素用来表示房屋面积,第 2 个元素用来表示价格。显然,这是一个有序的列表,不能随意交换向量中元素的位置。

因此,站在计算机专业的角度来看,向量不过是列表或数组的别称罢了。

3. 数学中的向量

数学中的向量综合了不同专业对向量的理解。抽象意义上,数学中的向量可以是任意的东西,只要可以对它们进行加法和数乘运算即可。这也意味着,加法和数乘是向量最底层的运算。一切复杂和抽象的东西归根结底都源自于这 2 种运算。

和物理学中的向量一样,线性代数中的向量也是有大小和方向的(物理学观点),但必须特别注意的是:线性代数中的向量不能像物理学中的向量那样随意挪动。线性代数中的向量全部都是起点固定在原点的向量!

3.1 坐标

以大家最熟悉的二维平面直角坐标系为例,线性代数中,向量的坐标由一对数字构成。这一对数字指示了如何从向量的起点(即坐标原点)出发到达向量的终点。第 1 个数字 -2 告诉我们从原点出发沿 x 轴负方向移动 2 个单位的距离,第 2 个数字 3 告诉我们从原点出发沿 y 轴正方向移动 3 个单位的距离,然后我们就能到达向量的终点了。

显然,线性代数中的向量也是一个有序的列表(计算机观点)。例如,在上面的例子中,第 1 个数字表示从向量起点(原点)沿 x 轴移动的距离,第 2 个数字表示从向量起点(原点)沿 y 轴移动的距离,这 2 个数字当然是不能随意交换位置的。

为了将向量与坐标区分开来,我们通常将向量竖着写,而将坐标横着写。但无论如何,向量和坐标是有着一一对应的关系的。

3.2 向量加法

线性代数中向量的加法运算和物理学中向量的加法运算是一样的。

例如,要计算 v + w,

我们平移其中的任意一个向量(例如 w),将 w 的起点与 v 的终点重合,则平移后 w 的终点便是 v + w 的终点,而 v+ w 的起点也是 v 的起点(即原点)。前面,咪博士提到线性代数中的向量,都是起点固定在原点,不能随意挪动的。但是,在这里,我们却将向量 w 平移了。这确实是一个例外,而且可能也是线性代数中唯一允许向量离开原点的情形了。

但是,咪博士这里要讲的重点不是向量如何做加法运算,而是为什么向量的加法运算要定义成这样?

从刚才对坐标的解释,我们可以很自然地将向量看成是对某种运动的描述(从原点出发)。向量 v 和 w 分别描述了不同的运动, 向量加法想表达的意思是:v + w 描述的运动等价于 v 和 w 这 2 种运动综合的结果。即,v + w 描述的运动相当于先执行 v 描述的运动,再执行 w 描述的运动的结果。当然,你也可以先执行 w 的运动,再执行 v 的运动。最终结果都是一样的,无论向执行 v,还是先执行 w,最终都等于 v+ w 的运动。

这样理解起来比较抽象,咪博士还是为大家举一个具体的例子吧。

2]

假定我们有 2 个向量 [1 2 ]2]和 [ 3 -1 ] [3−1]。现在我们要对它们进行加法运算。

按照向量加法运算的计算方法,我们平移向量 [3 -1 ] [3−1] ,让它的起点与向量 [1 2 ] [12] 的终点重合。

如果将向量看看成是某种形式的运动,那么 2 个向量相加就是相继执行向量对应的运动。最终向量相加的结果所表示的运动,就相当于,先沿 x 轴正方向移动 1 + 3 个单位,再沿 y 轴正方向移动 2 + (-1) 个单位。仔细想想,相加后的向量是不是恰好就是从原点出发,终点落在移动后的那个向量的终点上?

3.3 向量数乘

向量的数乘运算比加法运算要容易得多。向量的数乘运算就是对向量进行缩放,等于将向量中的各个元素(分量)分别进行缩放。现在,如果从向量坐标和运动的观点出发,是不是很容易理解了呢?

总之,要深入理解线性代数的本质,我们就需要学会灵活地在向量的不同解释之间相互转换。

原文链接:http://www.ipaomi.com/2017/11/17/线性代数的本质与几何意义-01-向量是什么?3blue1brown-咪博/

线性代数的本质与几何意义 01. 向量是什么?(3blue1brown 咪博士 图文注解版)的更多相关文章

  1. 线性代数的本质与几何意义 03. 矩阵与线性变换 (3blue1brown 咪博士 图文注解版)

    首先,恭喜你读到了咪博士的这篇文章.本文可以说是该系列最重要.最核心的文章.你对线性代数的一切困惑,根源就在于没有真正理解矩阵到底是什么.读完咪博士的这篇文章,你一定会有一种醍醐灌顶.豁然开朗的感觉! ...

  2. 线性代数的本质与几何意义 02. 线性组合、张成的空间、基(3blue1brown 咪博士 图文注解版)

    1. 线性组合 接下来我们要换一个角度来看向量.以二维平面直角坐标系为例,i, j 分别是沿 2 个坐标轴方向的单位向量.那么坐标平面上的其他向量,例如 [ 3  -2 ] [3−与 i, j 是什么 ...

  3. 线性代数的28法则:作为程序员掌握这些API就够用了……

    目录 1. 向量 & 矩阵 1.1. 问: np.ndarray 与 np.matrix 的区别 1.2. 向量空间 2. 算术运算 2.1. 为什么线性代数定义的乘积运算不按照加法的规则(按 ...

  4. spring mvc注解版01

    spring mvc是基于servlet实现的在spring mvc xml版中已经说过了,注解版相较于xml版更加简洁灵活. web项目的jar包: commons-logging-1.1.3.ja ...

  5. 【01】《html5权威指南》(扫描版)(全)

    [01]<html5权威指南>(扫描版)(全) []魔芋:无高清电子书.   只看第五部分,高级功能. 作者:(美)弗里曼 著,谢延晟,牛化成,刘美英 译 [美]adam freeman ...

  6. 线性代数的视角理解LSR(least square regression)的参数评估算法本质

    https://medium.com/@andrew.chamberlain/the-linear-algebra-view-of-least-squares-regression-f67044b7f ...

  7. DX12龙书 01 - 向量在几何学和数学中的表示以及运算定义

    0x00 向量 向量 ( vector ) 是一种兼具大小 ( magnitude ) 和方向的量. 0x01 几何表示 几何方法中用一条有向线段来表示一个向量,其中,线段长度代表向量的模,箭头的指向 ...

  8. IT架构的本质--阅读笔记01

    万物都有其本质,也只有了解了事物的本质之后,才不至于出现在事物稍作改变时就难以应对的情况,作为软件工程专业的学生,我们应该对IT架构的本质有一定的了解.“老僧三十年前未参禅时,见山是山,见水是水.及至 ...

  9. Spark Mllib里的向量标签概念、构成(图文详解)

    不多说,直接上干货! Labeled point: 向量标签 向量标签用于对Spark Mllib中机器学习算法的不同值做标记. 例如分类问题中,可以将不同的数据集分成若干份,以整数0.1.2,... ...

随机推荐

  1. Python-2.7 : 编码问题及encode与decode

    普通的字符串在py2.7中都是以ASCII编码的,例如str=“abc”,若含有中文则会以gbk或者gb2312编码(GB2312是中国规定的汉字编码,也可以说是简体中文的字符集编码;GBK 是 GB ...

  2. C# 语法三 抽象类和接口

    1.抽象类 2.接口 一 抽象类 跟普通类的区别: a)用abstract标识类.抽象方法 b)抽象方法,只能声明,不能定义 c)抽象类不能实例化 二 接口 接口用interface标识,所有的成员( ...

  3. 关于window.onload()的加载问题

    今天写了个js的demo,遇到了个小问题,后来发现是自己对window.onload()的具体用处不是太清楚,现在跟大家分享一下. <head> <meta http-equiv=& ...

  4. [03] mapper.xml的基本元素概述

    1.select 我们基于这个持久层接口 GirlDao: public interface GirlDao { List<Girl> findByAge(int age); Girl f ...

  5. JS-JS作用域问题

    一. js没有块级作用域(可以自己闭包或其他方法实现),只有函数级作用域,函数外面的变量函数里面可以找到,函数里面的变量外面找不到. var a=10; function fn(){ console. ...

  6. FreeRTOS 任务与调度器(2)

    在上一篇我们介绍了FreeRTOS任务的一些基本操作和功能,今天我们会介绍一个很好很强大的功能——任务通知 任务通知可以在不同任务之间传递信息,它可以取代二值信号量.计数信号量.事件标志组.深度为1的 ...

  7. [UWP 自定义控件]了解模板化控件(3):实现HeaderedContentControl

    1. 概述 来看看这段XMAL: <StackPanel Width="300"> <TextBox Header="TextBox" /&g ...

  8. C# 大型电商项目性能优化(一)

    经过几个月的忙碌,我厂最近的电商平台项目终于上线,期间遇到的问题以及解决方案,也可以拿来和大家多做交流了. 我厂的项目大多采用C#.net,使用逐渐发展并流行起来的EF(Entity Framewor ...

  9. Ionic 2 官方示例程序 Super Starter

    原文发表于我的技术博客 本文分享了 Ionic 2 官方示例程序 Super Starter 的简要介绍与安装运行的方法,最好的学习示例代码,项目共包含了 14 个通用的页面设计,如:引导页.主页面详 ...

  10. 基于RC4加密算法的图像加密

    基于RC4加密算法的图像加密 某课程的一个大作业内容,对图像加密.项目地址:https://gitee.com/jerry323/RC4_picture 这里使用的是RC4(流.对称)加密算法,算法流 ...