1 张量
张量就是一组有序数。
或者说,张量就是一组有序数的表现方式,或者说是记号。比如向量是一种表现方式,矩阵是一种表现方式,张量同样也是一种表现方式。它本质就是一组有序的数字而已。
值得指出的是,张量是比向量和矩阵更高级的记号。它向下包含了向量和矩阵。凡是向量和矩阵能表示的,张量都能更简洁地表示。
在很多地方,我们不提是几阶张量,就默认是2阶。
(在数学上,张量也是一种向量,也是一种矩阵。通俗来讲,其实三者都是一回事,只不过记号不同,是西红柿和番茄的区别。)
1.1 为什么张量记号简便
为什么要用张量记号,说起来,无非是简便。当然,熟悉了之后,还可以将知识抽象到更高层次。
为什么会简便?
比如应力记号
σ
\sigma
σ
如果写成矩阵就是
σ
=
(
σ
x
x
σ
x
y
σ
x
z
σ
y
x
σ
y
y
σ
y
z
σ
z
x
σ
z
y
σ
z
z
)
\mathbf{\sigma} = \begin{pmatrix} \sigma_{xx} & \sigma_{xy} &\sigma_{xz} \\ \sigma_{yx} & \sigma_{yy} &\sigma_{yz} \\ \sigma_{zx} & \sigma_{zy} &\sigma_{zz} \\ \end{pmatrix}
σ=
σxxσyxσzxσxyσyyσzyσxzσyzσzz
(图片引自wiki)
这样写有两个缺点:
- x y z这样的下标记号太费字母了。
假如有四个分量呢?取mnkl?五个呢?六个呢?那26个英文字母都取完了。 - 写成矩阵太占地方了,一下子就要写9个分量。
第一点好办,无非是符号问题,干脆全换成1,2,3。反正数字用不完。
于是就变成了
σ
=
(
σ
11
σ
12
σ
13
σ
21
σ
22
σ
23
σ
31
σ
32
σ
33
)
\mathbf{\sigma} = \begin{pmatrix} \sigma_{11} & \sigma_{12} &\sigma_{13} \\ \sigma_{21} & \sigma_{22} &\sigma_{23} \\ \sigma_{31} & \sigma_{32} &\sigma_{33} \\ \end{pmatrix}
σ=
σ11σ21σ31σ12σ22σ32σ13σ23σ33
第二点怎么办呢?
我们发现,无非是123这三个数在变来变去,干脆直接用i=1,2,3和j=1,2,3来代替吧!
于是就写成了
σ
i
j
\sigma_{ij}
σij
其中i=1,2,3;j=1,2,3
于是只用这一个记号,就代表了9个分量的矩阵。
1.1.1 用张量记号简写求偏导
额外要提醒的一点是:张量也可以简写求偏导操作。
例如
(
∂
ϕ
∂
x
,
∂
ϕ
∂
y
,
∂
ϕ
∂
z
)
(\frac{\partial \phi }{\partial x} ,\frac{\partial \phi }{\partial y} ,\frac{\partial \phi }{\partial z} )
(∂x∂ϕ,∂y∂ϕ,∂z∂ϕ)
就可以简写为
∂
ϕ
∂
x
i
\frac{\partial \phi}{\partial x_i}
∂xi∂ϕ
我们还可以更简洁一点,连求导符号和分式也省去了,写成
ϕ
,
i
\phi_{,i}
ϕ,i
你看,就一个逗号,就代表了对三个分量分别求偏导。
1.2 张量的阶
标量是0阶张量
矢量是1阶张量
2阶张量可用矩阵表示
此外,常见的还有4阶张量,也可用矩阵表示
什么是张量的阶呢?就是自由下标的个数。
例如
x
i
x_i
xi是1阶张量,因为
i
=
1
,
2
,
3
i=1,2,3
i=1,2,3, 它就有3个分量。(在力学中,它可以代表位置)
σ
i
j
\sigma_{ij}
σij是2阶张量,因为
i
=
1
,
2
,
3
;
j
=
1
,
2
,
3
i=1,2,3; j=1,2,3
i=1,2,3;j=1,2,3 ,它就有9个分量。(在力学中,它可以代表应力)
c
m
n
k
l
c_{mnkl}
cmnkl是4阶张量,因为
m
=
1
,
2
,
3
;
n
=
1
,
2
,
3
;
k
=
1
,
2
,
3
;
l
=
1
,
2
,
3
m=1,2,3; n=1,2,3; k=1,2,3; l=1,2,3
m=1,2,3;n=1,2,3;k=1,2,3;l=1,2,3,它就有3*3*3*3=81个分量。(在力学中,它可以代表刚度矩阵)
像这种能够自由变换的下标,叫自由下标。它不一定是1,2,3;也可以是x、y、z。只是一种用来区分不同的记号罢了。
1.3 张量的运算规则
我们为标量定义了加、减、乘、除,这是标量的运算规则。
向量也有加、减、乘(有许多种乘),也是其运算规则。
矩阵也有加、减、乘和取逆,也是其运算规则。
张量同理。
张量有加、减、乘(有许多种乘)。
乘有三种:
- 点乘
- 叉乘
- 并乘
1.3.1 爱因斯坦求和约定与哑标
刚才说了自由下标,与之对应的,就是哑标。哑标是会被消掉的。
爱因斯坦在推导相对论的时候,为了记号方便,就发明了张量表示法。他又发现经常会有相同下标求和的情况发生,于是规定:凡是在一项内有相同下标出现的,一律默认求和。
写起来,就是这样
x
i
y
i
=
x
1
y
1
+
x
2
y
2
+
x
3
y
3
x_iy_i=x_1y_1+x_2y_2+x_3y_3
xiyi=x1y1+x2y2+x3y3
其实说来,就是省略了一个求和的
Σ
\Sigma
Σ
如果不省略,就是
∑
i
x
i
y
i
=
x
1
y
1
+
x
2
y
2
+
x
3
y
3
\sum_i x_iy_i=x_1y_1+x_2y_2+x_3y_3
i∑xiyi=x1y1+x2y2+x3y3
1.3.2 张量的加减
加减很简单,对应的分量加减即可。
例如
x
i
+
y
i
=
(
x
1
+
y
1
x
2
+
y
2
x
3
+
y
3
)
x_i +y_i= \begin{pmatrix} x_1+y_1\\ x_2+y_2\\ x_3+y_3 \end{pmatrix}
xi+yi=
x1+y1x2+y2x3+y3
1.3.3 张量的点乘(dot product)
严谨的说法叫缩并。
首先说明,
点乘是降阶的。
这一点要牢记。
那么降低多少呢?
假如a有4阶,b有2阶,那么a点乘b得到的就是4-2=2阶
假如a有2阶,b有1阶,那么a点乘b得到的就是2-1=1阶(矩阵乘向量)
假如a有2阶,b有2阶,那么a点乘b得到的就是2-2=0阶(矩阵乘矩阵)
假如a有1阶,b有1阶,那么a点乘b得到的就是1-1=0阶(向量乘向量)
所以我们还明白了:点乘结果的阶数就是阶数大的减去阶数小的。
例如
c
m
n
k
l
ϵ
k
l
=
σ
m
n
c_{mnkl} \epsilon_{kl}=\sigma_{mn}
cmnklϵkl=σmn
你看,左边的kl重复了,所以满足爱因斯坦求和约定,自动求和,变成了哑标,即
∑
k
∑
l
c
m
n
k
l
ϵ
k
l
\sum_k\sum_lc_{mnkl} \epsilon_{kl}
k∑l∑cmnklϵkl
这个求和以后,就只剩下两个自由下标了。所以就变成了2阶张量。
1.3.3.2 二阶张量的双点积
向量(也就是一阶张量)的点乘都写成一个点的点积。
而二阶张量的点乘都写成两个点的点积。如
a
:
b
\mathbf{a}:\mathbf{b}
a:b
这里我没有写下标。a和b都代表二阶张量。假如写上下标
a
i
j
b
i
j
a_{ij}b_{ij}
aijbij
你就会发现,ij都是哑标,直接就加没了。所以两个2阶张量点乘的结果是0阶张量,即一个数,或者说是标量。
为什么要写两个点呢?这是因为有两个下标被爱因斯坦求和约定给求和了,同时它又是两个二阶的张量相乘,所以就写成两个点。
双点积应该很常见,因为它其实就是两个矩阵对应分量一对一的相乘。
假如写成矩阵形式的话,
a : b = ( a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 ) : ( b 11 b 12 b 13 b 21 b 22 b 23 b 31 b 32 b 33 ) = a 11 b 11 + a 12 b 12 + a 13 b 13 + a 21 b 21 + a 22 b 22 + a 23 b 23 + a 31 b 31 + a 32 b 32 + a 33 b 33 = = ∑ i j a i j b i j \begin{matrix} a:b & = \\ \begin{pmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23}\\ a_{31} & a_{32} & a_{33} \end{pmatrix}: \begin{pmatrix} b_{11} & b_{12} & b_{13} \\ b_{21} & b_{22} & b_{23}\\ b_{31} & b_{32} & b_{33} \end{pmatrix} =\\ a_{11}b_{11} + a_{12}b_{12} + a_{13}b_{13} + a_{21}b_{21} + a_{22}b_{22} + a_{23}b_{23} + a_{31}b_{31} + a_{32}b_{32} + a_{33}b_{33} \end{matrix}=\\ =\sum_{ij}{a_{ij}b_{ij}} a:b a11a21a31a12a22a32a13a23a33 : b11b21b31b12b22b32b13b23b33 =a11b11+a12b12+a13b13+a21b21+a22b22+a23b23+a31b31+a32b32+a33b33===ij∑aijbij
1.3.4 并乘(dyadic product)/张量积(tensor product)
并乘是升阶的。
那么升多少呢?
并乘结果的阶数就是阶数大的加上阶数小的。
这里和点乘就只有一字之差:“加”和“减”。
a
⊗
b
=
a
i
b
j
\mathbf{a} \otimes \mathbf{b} =a_ib_j
a⊗b=aibj
并乘除了写圈圈里面一个叉子,还可以什么都不写,就紧贴着。
a
b
=
a
i
b
j
\mathbf{a}\mathbf{b} =a_ib_j
ab=aibj
可以想象,i和j都是自由下标,结果为2阶张量,所以这其实是9个分量
(
a
1
a
2
a
3
)
(
b
1
b
2
b
3
)
=
(
a
1
b
1
a
1
b
2
a
1
b
3
a
2
b
1
a
2
b
2
a
2
b
3
a
3
b
1
a
3
b
2
a
3
b
3
)
\left(\begin{array}{l} a_{1} \\ a_{2} \\ a_{3} \end{array}\right)\left(\begin{array}{lll} b_{1} & b_{2} & b_{3} \end{array}\right)=\left(\begin{array}{lll} a_{1} b_{1} & a_{1} b_{2} & a_{1} b_{3} \\ a_{2} b_{1} & a_{2} b_{2} & a_{2} b_{3} \\ a_{3} b_{1} & a_{3} b_{2} & a_{3} b_{3} \end{array}\right)
a1a2a3
(b1b2b3)=
a1b1a2b1a3b1a1b2a2b2a3b2a1b3a2b3a3b3
向量并乘又被称为外积(outer product)(与内积相对应)
矩阵并乘又被称为克罗内克积(kronecker product)
张量的并乘又被称为直积(direct product),或者就叫张量积(tensor product)。
(PS 张量积这种说法比较普遍)
(待补充)
1.3.5 张量的叉乘(cross product)
叉乘是不升不降的。
例如向量的叉乘
e
j
×
e
k
=
e
i
j
k
e
i
\mathbf{e_j}\times \mathbf{e_k}=e_{ijk}\mathbf{e_i}
ej×ek=eijkei
a × b = e i j k a j b k e i \mathbf{a}\times \mathbf{b}=e_{ijk}a_j b_k \mathbf{e_i} a×b=eijkajbkei
这里
e
i
\mathbf{e_i}
ei代表坐标轴的单位向量
e
i
j
k
e_{ijk}
eijk叫做置换符号(又叫Racci符号)
e
i
j
k
=
{
0
i
j
k
中有两个相同
1
i
j
k
正序轮换:例如
123
,
231
,
312
−
1
i
j
k
逆序轮换:例如
132
,
321
,
213
e_{i j k}=\left\{\begin{array}{c} 0 & ijk中有两个相同\\ 1 & ijk正序轮换:例如 123,231,312\\ -1 & ijk逆序轮换: 例如132,321,213 \end{array}\right.
eijk=⎩
⎨
⎧01−1ijk中有两个相同ijk正序轮换:例如123,231,312ijk逆序轮换:例如132,321,213
1.4 克罗内克三角(Kronecker delta)
克罗内克三角(Kronecker delta),或者叫克罗内克函数
它是一个二阶张量
δ
i
j
=
{
0
if
i
≠
j
1
if
i
=
j
\delta_{i j}= \begin{cases}0 & \text { if } i \neq j \\ 1 & \text { if } i=j\end{cases}
δij={01 if i=j if i=j
可见,它其实就是单位阵。
可用克罗内克三角来化简许多运算
他有一条很好的性质,那就是他能换下标
比如
a
i
δ
i
j
=
a
j
a_{i}\delta_{ij}=a_j
aiδij=aj
其实这个换了相当于没换,因为只有一个下标。假如有两个,那就有区别了
a
i
b
j
δ
i
j
=
a
i
b
i
a_{i}b_j\delta_{ij}=a_ib_i
aibjδij=aibi
可见后面那个
δ
\delta
δ把b的下标j换成了下标i
1.5 张量的几何解释:线性变换
(此节内容来自A brief on tensor analysis)
我们都知道,矩阵的几何含义是对任意向量v进行线性变换。
张量其实也是一种线性变换(我们这里指的是二阶张量)。
说矩阵是一种线性变换,这种说法其实不严谨。应该说:矩阵左乘是一种线性变化,即
A
v
∀
v
\mathbf{A}\mathbf{v} \hspace{0.2in} \forall \mathbf{v}
Av∀v
(这里黑体,表示用的是向量记号,没有用张量记号;张量记号是不需要黑体的,只需要加下标)
向量
v
\mathbf{v}
v的任意性表示了主体在于A
同理,不能说二阶张量本身是一种线性变换,而应该说:二阶张量(点乘/叉乘/并乘)分别是一种线性变化。即
p
⋅
v
∀
v
\mathbf{p}\cdot \mathbf{v} \hspace{0.2in} \forall \mathbf{v}
p⋅v∀v
p
×
v
∀
v
\mathbf{p}\times \mathbf{v} \hspace{0.2in} \forall \mathbf{v}
p×v∀v
p
v
∀
v
\mathbf{p} \mathbf{v} \hspace{0.2in} \forall \mathbf{v}
pv∀v
(待完善)
1.6 张量的梯度散度和旋度
1.6.1 散度
对一个二阶张量来说
∇
⋅
σ
=
[
∂
∂
x
∂
∂
y
∂
∂
z
]
[
σ
x
x
σ
x
y
σ
x
z
σ
y
x
σ
y
y
σ
y
z
σ
z
x
σ
z
y
σ
z
z
]
=
[
∂
σ
x
x
∂
x
+
∂
σ
y
x
∂
y
+
∂
σ
z
x
∂
z
∂
σ
x
y
∂
x
+
∂
σ
y
y
∂
y
+
∂
σ
z
y
∂
z
∂
σ
x
z
∂
x
+
∂
σ
y
z
∂
y
+
∂
σ
z
z
∂
z
]
T
=
∂
σ
j
i
∂
x
j
\begin{matrix} \nabla \cdot \boldsymbol{\sigma}&\\ =\left[\begin{array}{lll} \frac{\partial}{\partial x} & \frac{\partial}{\partial y} & \frac{\partial}{\partial z} \end{array}\right]\left[\begin{array}{ccc} \sigma_{x x} & \sigma_{x y} & \sigma_{x z} \\ \sigma_{y x} & \sigma_{y y} & \sigma_{y z} \\ \sigma_{z x} & \sigma_{z y} & \sigma_{z z} \end{array}\right]&\\ =\left[\begin{array}{c} \frac{\partial \sigma_{x x}}{\partial x}+\frac{\partial \sigma_{y x}}{\partial y}+\frac{\partial \sigma_{z x}}{\partial z} \\ \frac{\partial \sigma_{x y}}{\partial x}+\frac{\partial \sigma_{y y}}{\partial y}+\frac{\partial \sigma_{z y}}{\partial z} \\ \frac{\partial \sigma_{x z}}{\partial x}+\frac{\partial \sigma_{y z}}{\partial y}+\frac{\partial \sigma_{z z}}{\partial z} \end{array}\right]^T&\\ =\frac{\partial \sigma_{j i}}{\partial x_{j}} \end{matrix}
∇⋅σ=[∂x∂∂y∂∂z∂]
σxxσyxσzxσxyσyyσzyσxzσyzσzz
=
∂x∂σxx+∂y∂σyx+∂z∂σzx∂x∂σxy+∂y∂σyy+∂z∂σzy∂x∂σxz+∂y∂σyz+∂z∂σzz
T=∂xj∂σji
故张量的散度就是一个向量(一阶张量)。
1.6.2 梯度
1.7 张量的高斯定理
参考
- https://zhuanlan.zhihu.com/p/139105732
- https://zhuanlan.zhihu.com/p/62612523
- https://zhuanlan.zhihu.com/p/56850779
- http://fdjpkc.fudan.edu.cn/d201354/15048/list.htm
- https://www.jianshu.com/p/b7391573a9fd
- https://zhuanlan.zhihu.com/p/83101486