欢迎大家来到我的这一个新专栏,本专栏我们将一起学习并探讨一些张量方面的知识,同样,需要一定的线性代数的基础知识铺垫,但肯定是没有量子计算那么深入和复杂,有需要的小伙伴可以点点关注,您的鼓励是我前进的最大动力!
张量(tensor)理论是数学的一个分支学科,在力学中有重要应用。张量这一术语起源于力学,它最初是用来表示弹性介质中各点应力状态的,后来张量理论发展成为力学和物理学的一个有力的数学工具。张量之所以重要,在于它可以满足一切物理定律必须与坐标系的选择无关的特性。张量概念是矢量概念的推广,矢量是一阶张量。张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数!
我们在后面的机器学习 ,深度学习,还有最重要的量子计算与量子机器学习中,张量分解与张量分析都发挥着举足轻重的作用,所以,我们希望能尽量将它学好!
从定义开始,“张量” 在不同的场景下有不同的定义:
我们在量子计算二这一篇博客中就为大家简单的介绍过张量的其中一种定义,同时也介绍了张量积的运算法则和一些性质,具体的大家可以去我的量子计算专栏中寻找,在这里,我们还是从头开始继续了解一下!
张量是向量和矩阵的自然推广,向量可称为一阶张量,矩阵可称为二阶张量,将矩阵堆叠形成“立方体”,这种数据结构则称为三阶张量。一张灰度图像在计算机中由矩阵表示,是二阶张量。一张RGB三通道的彩色图像在计算机中则保存为三阶张量。当然,三阶张量也可以堆叠形成更高阶的张量。
还有一个视频可以帮助你更加深入理解!
张量理解
我们用多维数组来进一步理解:
其中,阶(order/ways/modes/rank):就是张成所属张量空间的向量空间的个数,秩 就可以理解成[ 的个数(深度),例如
这个名字我们有的同学可能第一次听,但都是我们经常用的,也是非常的简单!
For example:
S = a 1 x + a 1 x + ⋯ + a n x n S =a_{1}x_{}+a_{1}x_{}+\cdots+a_{n}x_{n} S=a1x+a1x+⋯+anxn
用求和符号来表示就是:
S = ∑ i = 1 n a i x i = ∑ j = 1 n a j x j S=\sum_{i=1}^{n} a_{i} x_{i}=\sum_{j=1}^{n} a_{j} x_{j} S=i=1∑naixi=j=1∑najxj
我们约定 : S = a i x i = a j x j S = a_{i}x_{i} = a_{j}x_{j} S=aixi=ajxj,求和指标与所用字母无关,且指标只能重复一次!
多个变量同时出现的话,可以进行双重求和:
∑ i = 1 3 ∑ j = 1 3 A i j x i y j = A 11 x 1 y 1 + A 12 x 1 y 2 + A 13 x 1 y 3 + A 21 x 2 y 1 + A 22 x 2 y 2 + A 23 x 2 y 3 + A 31 x 3 y 1 + A 32 x 3 y 2 + A 33 x 3 y 3 \begin{aligned} \sum_{i=1}^{3} \sum_{j=1}^{3} A_{i j} x_{i} y_{j}=& A_{11} x_{1} y_{1}+A_{12} x_{1} y_{2}+A_{13} x_{1} y_{3}+\\ & A_{21} x_{2} y_{1}+A_{22} x_{2} y_{2}+A_{23} x_{2} y_{3}+\\ & A_{31} x_{3} y_{1}+A_{32} x_{3} y_{2}+A_{33} x_{3} y_{3} \end{aligned} i=1∑3j=1∑3Aijxiyj=A11x1y1+A12x1y2+A13x1y3+A21x2y1+A22x2y2+A23x2y3+A31x3y1+A32x3y2+A33x3y3
这里不能看出有就像,再填上一个Z,就会有27项了: A i j k x i y j z k A_{i j k} x_{i} y_{j} z_{k} Aijkxiyjzk
指标(下标)这么多,我们来给它们分个类,先看个例子:
A 11 x 1 + A 12 x 2 + A 13 x 3 = b 1 A 21 x 1 + A 22 x 2 + A 23 x 3 = b 2 A 31 x 1 + A 32 x 2 + A 33 x 3 = b 3 \begin{array}{l} A_{11} x_{1}+A_{12} x_{2}+A_{13} x_{3}=b_{1} \\ A_{21} x_{1}+A_{22} x_{2}+A_{23} x_{3}=b_{2} \\ A_{31} x_{1}+A_{32} x_{2}+A_{33} x_{3}=b_{3} \end{array} A11x1+A12x2+A13x3=b1A21x1+A22x2+A23x3=b2A31x1+A32x2+A33x3=b3
总结一下:
通过哑指标可把许多项缩写成一项,通过自由指标又把许多方程缩写成一个方程。
一般说,在一个用指标符号写出的方程中,若有 k 个独立的自由指标,其取值范围是1~n,则这个方程代表了 n k n^{k} nk个分量方程。在方程的某项中若同时出现 m 对取值范围为1~n 的哑指标,则此项含相互迭加的 n m n^{m} nm 个项!
还需要知道一点的就是,指标符号也适用于微分和导数表达式!
这大概就是我们目前需要掌握的爱因斯坦求和约定的相关部分 !
在笛卡尔坐标系中,下图中三个相互正交的单位基矢量 构成一个正交标准化基
我们先定义 δ i j \delta_{ij} δij:
δ i j = e i ⋅ e j = { e i ⋅ e j = 1 ( i = j ) e i ⋅ e j = 0 ( i ≠ j ) \delta_{ij} = e_{i}\cdot e_{j}=\left\{\begin{array}{l} e_{i} \cdot e_{j}=1(i=j) \\ e_{i} \cdot e_{j}=0(i \neq j) \end{array}\right. δij=ei⋅ej={ ei⋅ej=1(i=j)ei⋅ej=0(i=j)
这个定义是非常好理解的,在线代学习中内积的那一部分和这个相类似,只是但是似乎并没有介绍这个符号!下面介绍一下它的几个性质特点:
e r s t e_{rst} erst 符号为:排列符号或者是置换符号,Eddington。
在笛卡尔坐标系中,我们定义如下:
e r s t = { 1 当r, s , 为正序排列时 − 1 当 r , s , t 为逆序排列时 0 当r , s , t 中两个指标值相同时 e_{r s t}=\left\{\begin{array}{ll}1 & \text { 当r, } s, \text { 为正序排列时 } \\ -1 & 当 r, s, t \text { 为逆序排列时 } \\ 0 & \text { 当r }, s, t \text { 中两个指标值相同时 }\end{array}\right. erst=⎩⎨⎧1−10 当r, s, 为正序排列时 当r,s,t 为逆序排列时 当r ,s,t 中两个指标值相同时
由于 r , s , t r, s, t r,s,t 只能在1,2,3中选取,所以上述公式还可写成
e r s t = 1 2 ( r − s ) ( s − t ) ( t − r ) e_{rst} = \frac{1}{2}(r-s)(s-t)(t-r) erst=21(r−s)(s−t)(t−r)
第三种取0的情况比较好理解,那么我们什么时候取-1,什么时候取1呢?
(1,2,3)及其轮流换位得到的(2,3,1)和(3,1,2)称为正序排列。
(3,2,1)及其轮流换位得到的(2,1,3)和(1,3,2)称为逆序排列
这里依然有一个视频,帮助大家理解:
排列符号或置换符号简单演示
来接着看看这个 e r s t e_{rst} erst 符号的一些基本性质:
综上,矢量的点积可以写成为: