赞
踩
【转载:什么是张量 (tensor)? - 马同学的回答 - 知乎 https://www.zhihu.com/question/20695804/answer/447498656】
这一系列文章源自此系列视频,需要科学上网
此系列文章算是该视频的读书笔记,不过加入了个人对线性代数的理解,以及增加了很多动画帮助理解。
根据维基百科的介绍,“张量”一词最初由威廉·罗恩·哈密顿在1846年引入。对,就是那个发明四元数的哈密顿:
威廉·罗恩·哈密顿
1890年格雷戈里奥·里奇-库尔巴斯托罗的《绝对微分几何》、1900年列维-奇维塔的《绝对微分》进一步在数学上发展了“张量”的概念。
伟大的物理学家,爱因斯坦为了描述他的天才想法,恶补了黎曼几何和张量分析,终于在这两大数学工具的帮助下,创立了他最为得意的弯曲时空的物理理论:广义相对论。至此张量在物理上大放光彩。如果想学习广义相对论,张量肯定是需要学习的。
阿尔伯特·爱因斯坦
广义相对论中最核心的思想就是质量会带来时空弯曲,就好像保龄球滚过长绒地毯:
可以想象,时空弯曲中有大量的几何关系,为了描述复杂的几何关系,爱因斯坦引入了“张量”,比如著名的 爱因斯坦场方程 :
上面式子中,
可以先有一个直观印象,“张量”就是用来描述几何的,这里几何指的是什么?后面很快就会解释。
“张量”在不同的运用场景下有不同的定义。
第一个定义,张量是多维数组,这个定义常见于各种人工智能软件。听起来还好理解。
第二个定义,张量是某种几何对象,不会随着坐标系的改变而改变。
第三个定义,张量是向量和余向量(covector)通过张量积(tensor product)组合而成的。
第四个定义,张量是多重线性映射,即:
其中,V是矢量空间,V*是对应的对偶空间。
好了,不闹了,后面的文章会尝试逐一解释这四种定义,并且可以看到这四种定义是不断认知升级的结果。
从第一个定义:张量是多维数组开始。
现在机器学习很火,知名开源框架tensor-flow是这么定义tensor(张量)的:
A tensor is a generalization of vectors and metrics to potentially higher dimensions
也就是说,张量(tensor)是多维数组,目的是把向量、矩阵推向更高的维度。
更具体点,也即是说:
把三维张量画成一个立方体:
我们就可以进一步画出更高维的张量:
从数据结构上来看,张量就是多维数组。
这个定义本身没有错,但是没有真正反映张量的核心。
我们来看下第二个定义:张量是某种几何对象,不会随着坐标系的改变而改变。
最简单的几何对象就是二维平面,在线性代数中称为
这个
也可以由别的坐标系来描述(别的基来张成),当然
上面的图有几点值得注意:
那这样一个几何对象,
当
如果基发生了变换,坐标值也会不断的变化:
从而可以得到如下的结论:
所以,向量这个几何对象也可以用张量来描述。
假设有如下线性映射:
其实它也是一个几何对象,可以图示如下:
上图表示左边
当用单位正交基来描述左右两个
不同的基,会获得不同的矩阵(也就是等价矩阵),比如说
进而得到如下的结论:
所以,
可见,张量可以表达非常多的线性代数的研究对象。
借用线性代数中“张成”这个词,或许“张量”这个名字的意思就是“可以张成很多线性代数研究对象的量”。
下一节,我们会仔细研究下,张量是怎么去表示向量空间、矢量、线性映射的,以及不同基下的转换规则是什么。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。