​​在读《程序员的数学: 线性代数》一书时候, 启发很多, 就也想制作图解线性代数系列文章, 一来动手写点代码验证, 二来可以更加深刻的理解某些较为抽象的概念. 先声明一下, 这个系列并不会讨论相关的计算, 此书还有其他很多书中都不缺乏相关的练习.

因为本人水平有限, 疏忽错误在所难免, 希望各位老师和朋友多提宝贵意见, 帮助我改进这个系列, 感谢感谢啦! 好了, 让我们赶紧进入主题吧. 先从向量谈起.


▌向量的概念

现实中, 我们会把几个数值放在一起, 当做一个整体来分析, 这就有了向量(Vector) - 有序的数值列表.

为了把向量和点区分开, 惯用的方法是把这对数竖着写, 然后用括号括起来, 比如下面的示例为 2 维向量, 3 维向量和 4 维向量: enter image description here

注: 或者用方括号

决定一个向量是它的长度和方向, 我们可以通过坐标系来更好的理解它. 在二维坐标系下用箭头绘制出来, 且箭头的起点位于原点, 终点就是该向量的分量对应的点. 这样每一个向量就对应唯一对数, 而坐标系中的一对数也唯一对应一个向量.

enter image description here

只要向量的大小和方向相同, 即视为相等的向量, 如下图所示在二维平面(Two-dimensional)下, 随便移动一个向量, 所留下轨迹上都是相同的向量:

enter image description here

而三维空间的向量就会是三个分量, 我们用 z 轴来表示出来, 这样每个向量也会与一个有序三元数组对应:

enter image description here

▌向量的加法

向量加法就是把对应项相加.

enter image description here

从图形来看我们可以平移第二个向量, 使它的起点与第一个向量的重点重合, 然后画一个向量, 它从第一个向量的起点出发, 指向第二个向量的终点. 这个向量就是它们的和; 或者观察动画按照每个向量的分量进行运动最终效果是一样的: 

enter image description here

▌向量的数乘

另一个基础的向量运算就是一个数值(标量Scalar)乘以向量的每个分量, 就是将向量中的每个分量与标量相乘. 如选择数值 2, 把它与一个给定向量相乘, 意味着你把这个向量拉长为原向量的 2 倍.

enter image description here

观察下图如果标量为负, 则结果向量反向. 也就是数乘向量其实是对向量的拉伸, 压缩或反向的操作:

enter image description here

向量的加法和数乘非常重要, 将会贯穿线性代数, 我们第一次的内容就到此为止, 不过下面再补充几张动图来加深加法的理解:

▌向量加法三角形法则, 其实与上面加法示例相同, 不过这里的向量起点并非原点:

enter image description here

▌向量加法多边形法则:

enter image description here

▌平行四边形法则

enter image description here

▌向量的减法其实就是加法的一种特殊情况:

enter image description here

好了, 现在让我们在下一篇的中来看一看非常实用的向量数量积, 外积与混合积.

笔者用的 Wolfram 语言来编码完成这些动画, 之前制作过图解高等数学系列微文, 放在微信公众号(ID: meemath )里了, 感兴趣的朋友可以过去看下:

enter image description here