本文部分概念为个人理解, 暂未寻求文献支持.
我们能任意比对不同的张量运算得益于 Masaki Notation 能有效地解构任意张量运算.
以本文为例, 理论上任意定义的张量积都可以用指标符号拆解成分量表示:
┣ 例如定义运算,
┗ 则可等价地表示为.
目録
1. 直积与张量积的定义
1.1. 直积和张量积不是一回事
1.2. 张量积用来构造高阶张量
1.3. 喀兴林先生的书上定义的矩阵张量积
1.4. 二者有时候只相差一个很微妙的小细节
2. 降维张量积与老百姓张量积
2.1. 降维张量积的定义
2.2. 用 Masaki Notation 来计算降维张量积
2.3. 降维张量积的具体计算实例
2.4. 降维张量积和老百姓张量积可以是一回事
[附录A] 张量的初级理解
1. 直积与张量积的定义
1.1. 直积和张量积不是一回事, 直积生成有序元素组:
这个也叫 Cartesian product, 说白了就是打包处理, 并没有给予任何额外的操作.
┣ 举个例子就是对
┗ 有.
1.2. 张量积用来构造高阶张量:
上面采用了 Masaki Notation, 不懂什么是张量可参见 [附录A].
1.3. 在喀兴林先生的书上(他管这个叫直积, 这是不好的)定义矩阵的张量积为:
我就简单概括一下要点, 该做法当然至少可以安全地推广到任意有限维:
....
1.4. 二者有时候只相差一个很微妙的小细节:
比如我们现在在矢量空间上凭空定义两个括号
则
因为上面的意思是对一个俩矢量的张量积进行映射, 张量积是自带线性性的.
┗ 而下面这个则是对俩矢量构成的有序对进行映射, 这并不附带什么线性要求.
2. 降维张量积
2.1. 降维张量积的定义:
那么, 虽然我们已经知道直积与张量积不是一回事了,
┣ 但老百姓口中的张量积和喀兴林先生书上的直积(写作直积读作张量积)是不是一回事呢?
┗ 答案是: 基本上是一回事, 且下面我们将论证这一点.
俩矩阵张量积完还是矩阵, 这真的是张量积吗?
本来俩 (1,1) 型张量进行张量积应该得到 (2,2) 型张量对吧?
┣ 但是你二维的纸上它写不出四维的玩意儿来, 所以我们把四维的矩阵平铺开摆在二维纸上.
┗ 就是说如果你想要在不损失信息的情况下降维度, 那么要付出的代价就是升阶数咯.
为了方便我们看出端倪, 这里采取更容易追踪的写法:
让我们看看这个降维系数对应:
,,
┣ 不难发现这个过程就是用阶进制数做了一个序列替代:
┗.
你一定发现了一个事实: 这样的降维操作应该不唯一罢.
确实, 但我们这里就和国际接轨, 取这样的约定, 事实上不同约定之间只差一个幺正变换.
最后你会在意的就是说, 降维张量积和老百姓张量积是否是一回事.
答案是可以是, 我们将在最后阐述这一点.
2.2. 用 Masaki Notation 来计算降维张量积:
让我们以二维矩阵为例观察一下这个表达效果:
设定, 展开写就是:
我们看看的表达式:
总结一下就是, 这里当然也采用了重复指标求和.
┣ 考虑到前面的阶进制数序列替代,
┣ 就有:.
┣ 推广到一般就是.
┗ 而我们知道.
这样一来我们就有结论:
┣ 其中都是 (2,2) 型张量, 就是说:.
┣ 即.
┗ 结合第一条就是还要求有.
综上所述, 我们可以采用如下约定来计算降维升阶的矩阵张量积:
.
2.3. 降维张量积的具体计算实例:
学过群论的同志一定知道降维张量积满足关系
这个我看好像不少书为了证明这一点都是大费口舌.
实际上通过无敌的 Masaki Notation 可以极其简洁地证明这一点:
首先要意识到这四个都是 (2,2) 型张量:
然后采用我们降维张量积的指标计算约定:
┣.
┣ 即
┣
┣
┣
┣
┣.
┗ 一下子就证明完了, 很牛啤对吧?
2.4. 降维张量积和老百姓张量积可以是一回事:
其实如果你永远只采取指标运算的话, 根本不会碰上这种问题.
┗ 又一次地显示了指标运算的优越性, 不过指标运算的缺点就是看起来繁琐.
为什么我们说可以是一回事呢?
因为这要取决于你如何定义运算.
┣ 一个极其自然的定义就是.
┣ 那如果你这样定义这个运算的话翻译成指标运算就是:
┣
┣ 因为这样就有:
┗.
而降维张量积的运算约定为:
┗ 这说明.
我们能看到二者是相容的, 所以这样的定义就可以让我们日后对二者不做任何区分.
[附录A] 张量的初级理解
✦ 张量是基于矢量与对偶矢量定义的概念, 本质是一个没有感情的映射机器.
显然我们要先定义一个数域上的矢量空间, 然后定义一个内积运算.
然后由内积运算诱导出一个对偶矢量空间, 诱导方法如下:
┣ 内积运算的作用是对有.
┣ 显然我们可以很自然地建立一个映射.
┣ 具体写出来就是,就是我设计的一个符号罢了.
┣ 那么满足什么性质呢? 我定义它满足对有.
┣ 说玄乎点就是一个线性泛函, 意思是它作用到矢量上会给出一个数.
┣ 显然这样一来我们就构建了一个与同构的对偶空间.
┗ 对, 一定与之对应,里的元素我们称之为对偶矢量.
✦ 张量是如此的冷酷, 你只要把足够矢量和对偶矢量投入这台机器, 他就会给出一个数.
其实张量有无数多种, 但可以按照需要投入的矢量与对偶矢量的数目进行分类.
比如说 (1,1) 型张量就是投入
我们可以将 (1,1) 型张量记为, 它对有.
比如说 (0,1) 型张量就是投入
┣ 我们可以将 (0,1) 型张量记为, 它对有.
┣ 其实不用这样记, 因为我们的老朋友对偶矢量就是 (0,1) 型张量.
┗ 我是说的定义不就是对有吗?
比如说 (2,1) 型张量就是投入
可以将 (2,1) 型张量记为, 它对有.
聪明的你, 一定不需要我再继续比如了吧, 比如说当然可以有 (114,514) 型张量啊.
✦ 是不是太抽象力? 我可以举一个同构的例子, 让你直观感受一下:
如果说矢量可以用列矩阵表示, 而对偶矢量可以用行矩阵表示的话, 那方阵是什么?
方阵左乘对偶矢量, 右乘矢量, 得到一个数, 所以方阵其实就相当于 (1,1) 型张量.
对偶矢量左乘矢量, 也得到一个数, 用这个观点来看是什么意思?
你可以说对偶矢量是 (0,1) 型张量, 你也可以说矢量是一个 (1,0) 型张量, 观点是相对的.
┗ 然而可惜贫瘠的线性代数似乎根本表示不出这三类之外的张量了, 只能是你自己类比了.
最后需要说明的一点是,
(2,2) 型张量投入俩对偶矢量, 再投入俩矢量会得到一个数, 这是前面的定义.
┣ (2,2) 型张量如果只投入一个对偶矢量呢? 它会变成 (1,2) 型张量.
┗ 即还需要投入个对偶矢量与个矢量就得出一个数.
我知道你一定还是对张量具体是什么充满了疑惑, 别想了, 超纲了.