张量的通俗理解
1 关于张量的四种定义
“张量”在不同的运用场景下有不同的定义。
(1)张量是多维数组,这个定义常见于各种人工智能软件。听起来还好理解。
(2)张量是某种几何对象,不会随着坐标系的改变而改变。
(3)张量是向量和余向量(covector)通过张量积(tensor product)组合而成的。
(4)张量是多重线性映射,即:
,V表示是矢量空间, V*是对应的对偶空间。
2 多维数组
开源框架tensor-flow是这么定义tensor(张量)的:A tensor is ageneralization of vectors and matrices to potentially higher dimensions.
也就是说,张量(tensor)是多维数组,目的是把向量、矩阵推向更高的维度。
更具体点,也即是说:
把三维张量画成一个立方体:
我们就可以进一步画出更高维的张量:从数据结构上来看,张量就是多维数组。这个定义本身没有错,但是没有真正反映张量
的核心。
3 几何对象
我们来看下第二个定义:张量是某种几何对象,不会随着坐标系的改变而改变。
3.1 二维平面
最简单的几何对象就是二维平面,在线性代数中称为 R方(这是一个向量空间),下面用一个有颜色的方框来表示:
这个R方可以通过直角坐标系来描述(也就是单位正交基来张成)
也可以由别的坐标系来描述(别的基来张成),当然 R方本身不会因为基不同而发生改变:
上面的图有几点值得注意:是一个几何对象,它与坐标系(基)无关,可以通过不同的坐标系(基)来描述(张成),并且,不 同的坐标系(基)之间有明确的转换规则(这个我们后面再说),那这样一个几何对象, 就可以用张量来描述。
3.2 二维平面中的向量
R方中的向量,也是一个几何对象:
当 R方被某个基张成的时候,向量也获得了坐标值:
如果基发生了变换,坐标值也会不断的变化:
从而可以得到如下的结论:向量是一个几何对象,它与基无关,不同的基下,有不同的坐标值,并且,不同的坐标值之间有明确的转换规则,所以,向量这个几何对象也可以用张量来描述。
3.3 二维平面之间的线性映射
假设有如下线性映射:
其实它也是一个几何对象,可以图示如下
上图表示左边 中的一点(一点也对应一个向量),通过 L和右边R方中的一点关联了起来,这就是映射。
当用单位正交基来描述左右两个 ,可以得到一个矩阵 来表示此 :
不同的基,会获得不同的矩阵(也就是所谓的等价矩阵),比如说 :
进而得到如下的结论:
线性映射 是一个几何对象,它与基无关
不同的基下,有不同的矩阵来代表
并且,不同的矩阵之间有明确的转换规则
所以, 这个几何对象也可以用张量来描述。
4 总结
可见,张量可以表达非常多的线性代数的研究对象。