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

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

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. java实现文件监控

    文件监控器: package testfile; import org.apache.commons.io.monitor.FileAlterationListenerAdaptor; import ...

  2. python注册到eureka

    由于python提供的服务没有加入到注册中心,没有办法实现高可用现将python加入到注册中心实现高可用以下是基础样例,具体功能待完善 # coding:utf- import tornado.htt ...

  3. java 学习------JDK1.8安装与配置

    1.下在JDK 1.8 2.解压安装 (一般选择默认路径安装) 3.配置环境变量     (我的电脑是windows10 系统) (1)计算机→属性→高级系统设置→高级→环境变量 (2)添加 JAVA ...

  4. (转)tcp/ip协议的简单理解 -- ip报文和tcp报文的格式

    1.概念: TCP/IP协议通信的过程其实就对应着数据入栈与出栈的过程.入栈的过程,数据发送方每层不断地封装首部与尾部,添加一些传输的信息,确保能传输到目的地.出栈的过程,数据接收方每层不断地拆除首部 ...

  5. 序号生成算法odoo

    def get_sum_seq(self, cr, uid, ids, name, args=None, context=None): if not ids: return {} result={} ...

  6. [WPF] How to bind to data when the datacontext is not inherited

    原文:[WPF] How to bind to data when the datacontext is not inherited 原文地址:http://www.thomaslevesque.co ...

  7. .NET CORE下的Cache

    .NET CORE 下的缓存跟之前ASP.NET下的缓存有所不同,应用.NET CORE缓存首先需要引入Microsoft.Extensions.Caching.Memory程序包 下面简单写了一个C ...

  8. R绘图 第七篇:绘制条形图(ggplot2)

    使用geom_bar()函数绘制条形图,条形图的高度通常表示两种情况之一:每组中的数据的个数,或数据框中列的值,高度表示的含义是由geom_bar()函数的参数stat决定的,stat在geom_ba ...

  9. 基于Asp.Net Core Mvc和EntityFramework Core 的实战入门教程系列-5

    来个目录吧: 第一章-入门 第二章- Entity Framework Core Nuget包管理 第三章-创建.修改.删除.查询 第四章-排序.过滤.分页.分组 第五章-迁移,EF Core 的co ...

  10. 在Ubuntu18.04下将应用程序添加到启动器

    # 在启动器里面给应用程序添加一个快捷方式 在linux(ubuntu)平台下,很多小伙伴发现,自己去官网下载解压的软件不能自动添加到启动器,每次启动的时候需要再次进入软件目录输入命令,非常不方便.本 ...