Python:线性代数-向量 (四十)

什么是向量

线性代数所有知识都是建立在向量这个基础上的,所以,向量到底是什么?

file

广义上有三个视角:物理学视角、计算机科学视角以及数学家视角
物理学眼中:向量是空间里的箭头,是其长度和所指方向,只要保持这两个属性相同,可以随意移动,保持不变。

计算机科学:向量是有序的数值列表

file

数学:向量可以使任何事物,只要能对其进行加法运算
file

向量与点区别

file

向量的坐标就是一对数字,说明了向量如何从位于原点的尾部出发到达终点所在的头部,第一个数字 -2 表示在X轴上的移动距离,正值表示朝右移动,负值表示朝左移动;第二个值 3 表示在左右移动后沿着 Y 轴移动的距离,正值表示向上移动,负值表示向下移动。

To distinguish vectors from points,the convention is to write this pair of numbers vertically with square brackets around them.
为了把向量和点区分开,通常我们会竖着写这对数字,并用方括号将其括住。

三位空间向量

一对数值只表示一个向量,一个向量只对应一对数值,那三维空间又是什么情况呢?
此时需要添加第三条轴,即 Z 轴,这条轴同时垂直于 x 和 y 轴,此时一个向量对应三个有序的数,第一个数表示在x轴移动的距离,第二个轴表示在 y 轴上移动的距离,第三个轴表示在 Z 轴上移动的距离。

file

每三个数确定空间里一个独一无二的向量,空间里的每个向量则对应独一无二的三个数。

向量的数学运算

向量的加法和与数字的乘法

Vector addition and multiplication by numbers

file

向量加法

file

假设我们有两个向量,一个从原点出发朝向右上方,一个从原点出发朝右下方,要让这两个向量相加,就要移动第二个向量,使其尾部落在第一个向量的头部上,此时,如果你从第一个向量的尾部出发,到第二个向量的头部为止,绘制一个新向量,这个新向量就是两个旧向量的的和。

file

Why ?

向量加法的这个定义,在线性代数中,基本是向量唯一不在原点的时候,为什么可以这么做呢?

file

为什么加法的定义是这样的?不能是其他情况?
我自己的理解是,每个向量都代表了一种特别的运动,或者说是一步,这一步在空间里有一定的距离和方向,
如果你沿着第一个向量走一步,然后沿着第二个向量描述的方向和距离再走一步(如同梯度下降算法,走一步看一度),总体效果,就和你沿着两个向量的和走动是一样的。

file

用数字表示向量加法

第一个向量的坐标是[1,2], 第二个向量的坐标是[3,-1],用这个头对尾的方法为向量求和时,你可以想象一条从原点走到第二个向量头部的四部路径,先朝右走一步,然后朝上走两步,朝右走三步,然后朝下走一步。

file

向量与数字相乘

让某个向量和 2 相乘,就等于把这个向量拉长了一倍。
file

如果向量乘以负值,比如乘以 -1.8,那么向量会先翻转,然后拉长为原来的 1.8 倍。
file

这个向量拉伸、压缩或翻转的过程,叫做缩放(scaling),那些用来缩放向量的数字,叫做标量(scalar),所以标量和数字这两个词经常可以相互替换

为者常成,行者常至