1. 什么是向量?
数学概念嘛,在不同的应用场景下意义是不大一样的,比如说对于机械或者物理的同学,向量是有长度有方向的一个指向空间的带箭头的线段,而对于从事计算机工作的我们来说,向量的定义可以是非常简单粗暴的——
“把数排成一列就是向量”
是不是很简单?吼吼。当我们需要把一些数据放在一起作为一个整体来处理的时候,我们就用到了向量。比如,下面就分别是我们熟知的,一维向量、二维向量、三维向量了。
在没有特殊说明的情况下,我们通常说的向量,一般都指列向量。但是由于列向量的写法比较占用空间,所以一般用“横向量的转置”来表示,如下所示,其中T代表Transpose。
在翻看了一些资料之后,我对向量有了不一样的理解。在计算机领域,其实,我们并不关注向量的“几何意义”,因为我们通常用到的向量,维数都相当高,意义也很复杂。对于程序员来说,向量的意义是我们”自定义“的;对于计算机来说,向量的计算也只是数字的计算。因此,向量的几何意义只是我们用来理解向量的基础计算的一种便于理解的方式,它实际上就是一种编程的“数据结构“。
在Python中可以用 Numpy 的 ndarray 来表示向量:
import numpy as np
a = np.array ( [ -1, 2, 8] )
向量的转置实现如下,注意上面声明 a 时用了两对 [] 以生成一个二维向量,一维的向量转置结果不变。
>>> b = np.