首先我们先以一张图看看张量、标量、向量和矩阵的整体区别。
先贴上结果:
最重要的:列表、一维数组、一维向量都默认是n行1列的列向量(列矩阵). A = [[1,3,4,5,6]]是二维数组,1行5列
- 张量是泛化的概念,广义上包含矩阵、数组、向量,对应标量;狭义上如图所示,专指3维及以上维数的数组情况
- 数组,在Python中实质和张量等价。形如np.array([1,2,3,4])
- 矩阵,经常和数组概念混,在Python中可以简单认为二者等价。只有一点可以区别彼此:一维和二维时,矩阵 = 数组,二维以上时只能是数组。硬要区分,则形如np.matrix([]).但实际大家都用np.array([1,2,3,4])来表示张量,很少出现matrix这个字眼。np.matrix([])和np.array([])作为矩阵相关函数的输入没有区别
- 向量,类似的,在Python中没有向量这个专门的名字,认为就是一维矩阵或者列表对象。需要注意,不存在横向量,认为所有一维矩阵/列表都是列向量,n行1列。np.shape()测试可知
- 列表, 形如[1,2,3,4].
- 标量,不解释。
- 元组很少和张量混用。尽管一维元组&