当前位置:   article > 正文

通俗易懂说“张量”_三阶张量

三阶张量


Dan Fleisch的这段视频堪称经典,用极简单的语言与道具,为我们展示了——曾帮助爱因斯坦证明相对论,又帮助Google使Tensorflow流行天下的张量到底是什么。视频有点长,12分钟,但弄懂一个伟大的方法,还是值得的。

张量是一种表示物理量的方式,这个方式就是用

基向量

分量

组合表示物理量(Combinationof basis vector and component)。

由于基向量可以有丰富的组合,张量可以表示非常丰富的物理量。

此外,

张量所描述的物理量是不随观察者或者说参照系而变化的

,当参照系变化时(其实就是基向量变化),其分量也会相应变化,最后结果就是基向量与分量的组合(也就是张量)保持不变。这一点对于我们

构造数据对象,进而展开分析建模,有着至关重要的意义

回顾过去我们对“量”的认识过程,我们都懂得用“一个数”来表示数量(标量),用“一个数组”(列矩阵或行矩阵)来表示一个向量,这都属于代数手法。

如果采用几何手法,标量中的实数可以表示为一维坐标系(如数轴)上的一个点,复数可以表示为二维坐标系(如复平面)上的一个点。向量通常可以表示为二维、三维或更高维坐标系中的一个空间点或有向线段。

如果我们把代数手法和几何手法结合起来即采用解析几何的手法,向量又可以表示为某种坐标基向量和坐标分量的线性组合。

那么现在,我们接触的张量该如何表示呢?让我们逐“阶”而上,看看

张量的数据结构形象

1、一阶张量(向量)

不妨首先假定在三维空间中,则一个一阶张量(向量)有3个分量,可以表示为一个有序3元数组或1×3阶的行矩阵

Tj = [T1 T2 T3]

在n维空间中,一个一阶张量(向量)有n个分量,可以表示为一个有序n元数组,或表示为一个1×n阶行矩阵

Tj = [T1 T2 ...... Tn]

也就是说,一个一阶张量(向量)可以用一个行矩阵表示,似乎构成“一条直线”。

2、二阶张量

在三维空间中,一个二阶张量则有9个分量,可以表示为一个有序9元数组或3×3阶的矩阵

一般地,在n维空间中,一个二阶张量有n2个分量,可以表示为一个有序n2元数组,或表示为一个n×n阶矩阵

也就是说,一个二阶张量可以用一个矩阵表示,似乎构成“一张平面”。如下图所示: 图:二阶张量矩阵平面

3、三阶张量

在三维空间中一个三阶张量

有27个分量,似乎可以构成一组3个矩阵,每个矩阵都是3×3个元素。设想“三张平面”构成一个“立方体”。如下图所示:

图1:三阶张量数据

如果在n维空间,一个三阶张量

有n^3个分量,也可以构成n个矩阵,每个矩阵都是n×n个元素。设想“n张平面”构成一个“立方体”,好像一块积木。如下图所示:

图2:三阶张量立方体积木

4、四阶张量

继续探讨我们的“积木游戏”。在三维空间中一个四阶张量

有81个分量,似乎可以构成一组9个矩阵,每个矩阵都是3×3个元素。设想每“三张平面”构成一个“立方体”,共有3个“立方体”或曰3块“积木”。3块“积木”排成一列,好像由矩阵构成的“阵列”。

如果在n维空间,一个四阶张量

有n^4个分量,也可以构成n^2个矩阵,每个矩阵都是n×n个元素。设想每“n张平面”构成一个“立方体”(一块积木),n块积木排成一列。我们把这样相互关联的一组矩阵叫做“阵列”。如下图所示:

图3:四阶张量数据阵列

5、五阶张量

如果是n维空间中的一个五阶张量

,共有n^5个分量,则可以构成n^3个矩阵。设想每n张平面(矩阵)构成一块积木,每n块积木构成一条阵列,共有n条阵列,可以垒成“一堵墙”。假如以元素(张量的分量)为单位,这堵“墙”的高和长都是n^2,厚度是n。以3维空间为例,如下图所示:

图4:五阶张量阵列墙(设n=3)

6、六阶张量

对于6阶张量,n^6个分量可以组成n^4张矩阵平面,构成n^3块积木,再排成n^2条阵列,垒成n堵墙,最后拼成一个方垛。以3维空间为例,如下图所示:

图5:六阶张量数据方垛(设n=3)

7、M阶张量

一般地,在n维空间中的一个M阶张量共有

个分量,可以组成

张矩阵平面,构成

块积木,再排成

条阵列,垒成

堵墙,最后拼成

个方垛,再排成

条方垛阵列,......依此类推。

我的天啊!太恐怖啦!不要怕,计算机最擅长作这类数据结构的运算和处理。这就是在计算机时代的今天为什么要研究和普及张量算法的原因。

我们在探讨张量理论时,通常拿少维空间中的低阶张量作例子,除了采用数组、矩阵等代数手法表示张量外,还可以采用并矢的线性组合等解析几何的手法来表示张量。至于几何手法,除了在少维空间中一阶张量还具有几何意义之外,其它张量的几何意义也就苦无良策了。不过今天有了计算机处理张量,几何意义也就无关紧要了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/176465
推荐阅读
相关标签
  

闽ICP备14008679号