【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._xhtml

张量(Tensor)

张量是矢量和矩阵概念的推广,标量是0阶张量,矢量是1阶张量,矩阵是二阶张量,而三阶张量好比是立方体矩阵。

张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数。

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._人工智能_02

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._线性代数_03

形象直观地来理解张量

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._线性代数_04

Below is the diagram that describes the Tensor's dimensions in a very efficient way.

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._xhtml_05

Now let's get a little bit knowledge about the notation of Tensors

The tensor notation is similar to the metrics notation. A capital letter represents the tensor, and the lower letter with subscript integer represents scalar values within the tensor.

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._人工智能_06

​https://www.javatpoint.com/pytorch-tensors​

符号约定

下标标记法

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._xhtml_07

求和约定

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._人工智能_08

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._人工智能_09

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._webgl_10

关于自由标号

同一方程式中,各张量的自由标号相同,即同阶标号字母相同。

关于Kronecker delta (δij)符号

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._sms_11

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._xhtml_12

张量的基本运算

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._人工智能_13

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._xhtml_14

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._webgl_15

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._xhtml_16

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._人工智能_17


引力场

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._xhtml_18

​https://www.youtube.com/watch?v=kyzSofggsqg​

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._人工智能_19

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._webgl_20

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._线性代数_21

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._sms_22

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._人工智能_23

​https://dev.to/juancarlospaco/tensors-for-busy-people-315k​

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._xhtml_24

How it looks like on Code?.

Scalar

letmyscalar=42

Scalar can be a variety of things, usually numeric values, to keep things simple and easy to understand we will use an integer here, 42 is our Scalar.

Vector

letmyvector=[1,2,3]

Vector is a collection of items, we continue using integers, it can be seen on the code as an array or list, you can draw it as a Rank 1 Vector.

Matrix

letmymatrix=[[1,2,3],[4,5,6],]

We continue adding dimensions then we end up with the Matrix, a 2D Tensor, can be simplified on code as a list with lists inside.

Tensor

letmytensor=[[[1,2,3],[4,5,6],],[[7,8,9],[10,11,12],],]

Wow, we reached the crazy cube, a multiple dimensions array of integers,

we need to convert this jam of lists into a Tensor object!.

Tensor Arraymancer

importarraymancerletmytensor=[[[1,2,3],[4,5,6],],[[7,8,9],[10,11,12],],].toTensor

Done, congrats you coded your first Tensor!.

Tensor can be categorized by rank, i.e. how many "rows and columns they have."

Rank 0: Scalar/Number

Rank 1: Vector

Rank 2: NxN matrix

Rank >= 3: Tensor

I did a visualization of these ranks below

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._webgl_25

Why are tensors important though?

Well, engineers use them a lot when dealing with the forces and stresses on an object.

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._线性代数_26

Relativists use them to package equations like the Einstein Field Equations which would otherwise be (4x4)16 equations! Wow!

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._人工智能_27

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._xhtml_28

How many equations do you think the Riemann Curvature Tensor below can package?

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._sms_29

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._sms_30

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._人工智能_31

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._人工智能_32

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._线性代数_33

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._线性代数_34

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._线性代数_35

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._xhtml_36

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._人工智能_37

In the field of Physics and Engineering, as a tool, tensor and tensor algebra widely used. We can say it is a set of techniques in machine learning in the operation and training of deep learning models can be described regarding tensors.

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._人工智能_38

Dot product of two 4D tensors

​https://discuss.pytorch.org/t/dot-product-of-two-4d-tensors/69555​

度量张量

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._webgl_39

【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础..._线性代数_40

张量简史

张量的出现是有原因的,因为我们无法用标量和向量完整的表示所有的物理量,所以物理学家使用的数学量的概念就必须扩大,所以张量就出现了。张量之所以重要,在于它可以满足一切物理定律必须与坐标系的选择无关的特性。

张量(Tensor)是一个定义在一些向量空间和一些对偶空间的笛卡儿积上的多重线性映射,其坐标是|n|维空间内,有|n|个分量的一种量, 其中每个分量都是坐标的函数, 而在坐标变换时,这些分量也依照某些规则作线性变换。r 称为该张量的秩或阶(与矩阵的秩和阶均无关系)。

在同构的意义下,第零阶张量 (r = 0) 为标量(Scalar),第一阶张量 (r = 1) 为向量(Vector), 第二阶张量 (r = 2) 则成为矩阵(Matrix)。例如,对于3维空间,r=1时的张量为此向量:(x,y,z)。由于变换方式的不同,张量分成协变张量 (Covariant Tensor,指标在下者)、逆变张量 (Contravariant Tensor,指标在上者)、 混合张量 (指标在上和指标在下两者都有) 三类。

在数学里,张量是一种几何实体,或者说广义上的“数量”。张量概念包括标量、向量和线性算子。张量可以用坐标系统来表达,记作标量的数组,但它是定义为“不依赖于参照系的选择的”。张量在物理和工程学中很重要。例如在扩散张量成像中,表达器官对于水的在各个方向的微分透性的张量可以用来产生大脑的扫描图。可能最重要的工程上的例子就是应力张量和应变张量了,它们都是二阶张量,对于一般线性材料他们之间的关系由一个四阶弹性张量来决定。

虽然张量可以用分量的多维数组来表示,张量理论存在的意义在于进一步说明把一个数量称为张量的涵义,而不仅仅是说它需要一定数量的有指标索引的分量。特别是,在坐标转换时,张量的分量值遵守一定的变换法则。张量的抽象理论是线性代数分支,现在叫做多重线性代数。

“张量”一词最初由威廉·罗恩·哈密顿在1846年引入,但他把这个词用于指代现在称为模的对象。该词的现代意义是沃尔德马尔·福格特在1899年开始使用的。

这个概念由格雷戈里奥·里奇-库尔巴斯特罗在1890年在《绝对微分几何》的标题下发展出来,随着1900年列维-奇维塔的经典文章《绝对微分》(意大利文,随后出版了其他译本)的出版而为许多数学家所知。随着1915年左右爱因斯坦的广义相对论的引入,张量微积分获得了更广泛的承认。广义相对论完全由张量语言表述,爱因斯坦从列维-奇维塔本人那里学了很多张量语言(其实是Marcel Grossman,他是爱因斯坦在苏黎世联邦理工学院的同学,一个几何学家,也是爱因斯坦在张量语言方面的良师益友 - 参看Abraham Pais所著《上帝是微妙的(Subtle is the Lord)》),并学得很艰苦。但张量也用于其它领域,例如连续力学,譬如应变张量(参看线性弹性)。

注意“张量”一词经常用作张量场的简写,而张量场是对流形的每一点给定一个张量值。要更好的理解张量场,必须首先理解张量的基本思想。

参考资料

​https://www.youtube.com/watch?v=f5liqUk0ZTw​

​https://www.youtube.com/watch?v=e0eJXttPRZI​

​https://www.zhihu.com/question/23720923​